
R, Databases & SQL
Preface
Last verified: 2026-09-26 · R 4.5.2 · DBI · dbplyr 2.6.0 · RSQLite 2.4.6 · duckdb.
New here? Grab the one-page DBI cheatsheet, then work Chapters 1–5 in order — runnable code for each chapter lives in code/.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Structure of the book
Chapter 1 DBI introduces the DBI package. Chapter 2 dbplyr explores data wrangling within database using the dplyr package. Chapters 3 SQL Basics and 4 SQL Advanced introduce basic and advanced SQL. Chapter 5 JOINs combines tables with JOINs in SQL and dbplyr.
Software information
The R session information when compiling this book is shown below:
sessionInfo()R version 4.5.2 (2025-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 10 x64 (build 19045)
Matrix products: default
LAPACK version 3.12.1
locale:
[1] LC_COLLATE=English_India.utf8 LC_CTYPE=English_India.utf8
[3] LC_MONETARY=English_India.utf8 LC_NUMERIC=C
[5] LC_TIME=English_India.utf8
time zone: Asia/Calcutta
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] htmlwidgets_1.6.4 compiler_4.5.2 fastmap_1.2.0 cli_3.6.5
[5] tools_4.5.2 htmltools_0.5.9 rmarkdown_2.30 knitr_1.50
[9] jsonlite_2.0.0 xfun_0.61 digest_0.6.39 rlang_1.2.0
[13] evaluate_1.0.5
We do not add prompts (> and +) to R source code in this book, and we comment out the text output with two hashes ## by default, as you can see from the R session information above. This is for your convenience when you want to copy and run the code (the text output will be ignored since it is commented out). Package names are in bold text (e.g., rmarkdown), and function names are followed by parentheses (e.g., bookdown::render_book()). The double-colon operator :: means accessing an object from a package.