Databases: The Big Picture
SQL: Talking to Databases
Your First SELECT Statement
Limiting Results with LIMIT
SELECT DISTINCT Values
WHERE Are We Filtering?
Equality Operator (=)
Not Equal Operator (!= or <>)
Comparison Operators
BETWEEN Operator
IN Operator
NOT IN Operator
LIKE Operator
NULL Values
Sorting with ORDER BY
AND Operator
OR Operator
Mix AND/OR Operators
Aliases: AS Keyword
Table Aliases
Intro to Relational Joins
Inner JOINs Explained
Left JOINs: All of the Left
Right JOINs: Right On!
Full Outer JOINs
Joining 2 Tables
Joining 3+ Tables
Self-Joins
Common JOIN Errors
JOIN Performance Tips
Intro to Subqueries
Subqueries in WHERE
Subqueries in SELECT
Subqueries in FROM
Correlated Subqueries
Intro to CTEs
CTEs vs Subqueries
Non-Recursive CTEs
Recursive CTEs
CTEs: Real-World Examples
Counting Rows
Summing Values
Finding the Average
Min and Max Values
Distinct Aggregates
Basics of GROUP BY
Grouping by Multiple Cols
Aliases with GROUP BY
Grouping by Date Parts
Order of Operations
Intro to HAVING
HAVING with COUNT
HAVING with SUM
HAVING with AVG
Multiple Conditions
Window Function Basics
The OVER() Clause
Ranking Functions
Aggregate Windows
Lead and Lag
Intro to INSERT
Inserting One Row
Inserting All Columns
Inserting NULL Values
Inserting Multiple Rows
Intro to UPDATE
Updating Specific Rows
Updating Multiple Columns
Intro to DELETE
Deleting Specific Rows
Intro to DDL
Creating Databases
Creating Tables
Altering Tables
Dropping Tables/Databases
Intro to Data Types
Numeric Data Types
String Data Types
Date and Time Types
Constraints