PracticalSQL by Anthony DeBarros focuses on learning SQL (Structured Query Language) to find the story your data tells, using the open-source database PostgreSQL and the pgAdmin interface as primary tools. I've written this book both for people new to programming as well as those with some SQL experience who'd like to go deeper. Practical SQL is scheduled to be published in paperback in February 2018 by No Starch Press, but Early Access in PDF is available now via No Starch.
Code: All code listings from each chapter, organized in chapter folders.
Data: When needed, CSV files for you to import, also organized by chapter.
Exercises: The "Try It Yourself" questions and answers for each chapter, listed separately. Try working through the questions before peeking at the answers!
Note: Exact titles may change prior to book publication in 2018.
- Chapter 1: Creating Your First Database and Table
- Chapter 2: Beginning Data Exploration with SELECT
- Chapter 3: Understanding Data Types
- Chapter 4: Importing and Exporting Data
- Chapter 5: Basic Math and Stats with SQL
- Chapter 6: Joining Tables in a Relational Database
- Chapter 7: Table Design That Works for You
- Chapter 8: Extracting Information by Grouping and Summarizing
- Chapter 9: Inspecting and Modifying Data
- Chapter 10: Statistical Functions In SQL
- Chapter 11: Working With Dates and Times
- Chapter 12: Advanced Query Techniques
- Chapter 13: Mining Text to Find Meaningful Data
- Chapter 14: Analyzing Spatial Data with PostGIS
- Chapter 15: Saving Time with Views, Functions, and Triggers
- Chapter 16: Using PostgreSQL from the Command Line
- Chapter 17: Maintaining Your Database
- Appendix A: Identifying and Telling the Story Behind Your Data
- Appendix B: Additional PostgreSQL Resources
Non-GitHub Users
Easiest way to obtain all the code and data at once is to download this repository as a .zip file. To do that:
- Select the Clone or Download button at top right.
- Select Download ZIP
- Unzip the file on your computer. Place it in a directory that's easy to remember so you can reference it during the exercises that include importing data to PostgreSQL.
GitHub Users
GitHub users may want to clone the repository locally and occasionally perform a git pull to receive any updates.
Editing and technical review of the book is in progress, so some code likely will change between now and publication in 2018. You can follow edits in the commit history.
I'll collect answers to frequently asked questions as well as updates to installation instructions at faq-updates.md.
I'm also maintaining updates to the book's Appendix B on Additional PostgreSQL Resources at resources.md.