Databases10 lessons15 quiz questions
RDBMS & SQL
Master RDBMS and SQL for software engineering interviews — from fundamentals to production database architecture.
What You Will Learn
- ✓SQL Fundamentals — SELECT, WHERE, JOIN, GROUP BY, ORDER BY
- ✓Advanced Queries — Subqueries, CTEs, Window Functions, CASE
- ✓Database Design — Normalization, ER Diagrams, Keys, Constraints
- ✓Indexing & Performance — B-Tree, Hash, Composite, Query Plans, EXPLAIN
- ✓Transactions & ACID — Isolation Levels, Locks, Deadlocks, MVCC
- ✓Stored Procedures & Functions — Triggers, Views, Materialized Views
- ✓PostgreSQL Specific — JSONB, Arrays, Full-Text Search, Extensions
- ✓Database Security — Roles, Permissions, Row-Level Security, Encryption
- ✓Replication & Scaling — Read Replicas, Partitioning, Sharding, Connection Pooling
- ✓Interview Questions & Best Practices
Overview
Master RDBMS and SQL for software engineering interviews — from fundamentals to production database architecture.
Session 1: SQL Fundamentals
SQL (Structured Query Language) is the universal language for relational databases. Every software engineer is expected to write proficient SQL. This session covers the core SELECT statement anatomy, filtering, joining, and aggregating data.
The SELECT Statement Anatomy
SQL executes in this logical order (not the written order):
This matters: you cannot use a SELECT alias in a WHERE clause because WHERE runs before SELECT.
Filtering with WHERE
JOIN Types
GROUP BY and Aggregation
Interview Insight
"What is the difference between WHERE and HAVING?" — WHERE filters individual rows before aggregation. HAVING filters groups after GROUP BY runs. You cannot use aggregate functions (COUNT, SUM) in WHERE; you must use HAVING. WHERE runs earlier in the logical execution order, so it is more efficient for filtering rows before the grouping happens.
Java Implementation
Python Implementation
Sample Quiz Questions
1. Which JOIN type returns all rows from the left table and matched rows from the right table, filling NULLs where there is no match?
Understand·Difficulty: 1/5
2. What is the difference between RANK() and DENSE_RANK() window functions when there are ties?
Understand·Difficulty: 2/5
3. What type of index should you use for a column that is only ever queried with exact equality checks (e.g., WHERE user_id = 42)?
Apply·Difficulty: 2/5
+ 12 more questions available in the full app.
Related Topics
Master RDBMS & SQL for Your Next Interview
Get access to full lessons, adaptive quizzes, cheat sheets, code playground, and progress tracking — completely free.