What You Should Know Now — and What's Next
What You Should Know Now
- How relational databases organize data into tables, rows, and columns
- Querying with
SELECT, filtering withWHERE, sorting, and limiting - Handling
NULLcorrectly, and using built-in text, number, and date functions - Aggregating with
GROUP BYandHAVING - Combining tables with inner, outer, and self joins
- Subqueries, common table expressions,
CASE, and set operations - Creating tables, choosing keys and constraints, and designing normalized schemas
- Inserting, updating, and deleting data safely, inside transactions
- Window functions and recursive queries for advanced analysis
- Indexes, query plans, isolation levels, and locking
- JSON in SQL, views, stored procedures and triggers, security, migrations, and production operations
What Should You Learn Next?
- One database in depth — PostgreSQL is an excellent choice: its documentation is outstanding, and it supports almost every feature covered here. Learn its specific tools, extensions, and administration.
- SQL from a programming language — Python (with pandas and SQLAlchemy), R (with dbplyr), or your back-end language's database library and ORM.
- Data engineering — data warehouses (BigQuery, Snowflake, Redshift), tools such as dbt that build analytics models with SQL, and orchestration.
- Analytics — statistics fundamentals and a visualization tool, so your queries turn into decisions.
- Other data models — document databases (MongoDB), key-value stores (Redis), and graph databases, to know when a relational database isn't the best fit (it usually is).
Build Something
Find a dataset about something you care about — your city's open data, a sports league, your own spending — load it into PostgreSQL or SQLite, and answer five questions you're genuinely curious about. Write the queries up with their results; SQL skills are easiest to prove with real analysis.