Image

A hands-on practical course for anyone who wants to learn modern SQL

13
CHAPTERS
60+
HD VIDEOS
9+
HRS VIDEO
150+
EXERCISES

A hands-on course, built for the busy learner

Packed with high quality videos, practical examples, and interesting and challenging exercises to practice what you've learned. The course is broad and deep, taking you from beginner level to mastery with SQL and doing it in a way that creates a deep understanding of what you've learned. My goal is to give you the practical tools and skills you need to get your job done.
Image
Learn Modern SQL

In this course we use PostgreSQL 11 and modern SQL (Common Table Expressions, Window Functions, etc). You'll learn modern notation and follow best practices.

Image
Jam Packed with exercises

Over 150 interesting and challenging real-world exercises (with solutions) to test your understanding and ability to use SQL. Get practice applying every concept you learn.

Image
Beginner Friendly

You don't need any prior knowledge or experience to do this course. And if you've got some prior experience with SQL and are looking to go deeper, this course can help you too.

Image
Up-to-date

Up to date with the latest SQL features, providing clear instruction and lots of opportunities to get hands-on practice with the cutting edge.

Image
Practical real world examples

All the examples and exercises are drawn from a sample database for a fictitious movie rental company. You'll learn to write queries to answer real world questions about sales, staff, films, and customers.

Image
HD video and top notch audio

All videos are available in HD and delivered with clear audio.

Do you find databases and SQL intimidating?

SQL is a difficult language to master and is quite different from most programming languages. Let me help you take the fear out of it all. This course is made for real people.
Image
What's a typical video like?
SQL: Inserting data

Want to see some more examples?

Image

Learn by doing

The best way to learn is by doing, not just watching videos. In this course, you’ll learn by challenging yourself with over 150 exercises from beginner level to advanced, complete with solutions and discussion.
The exercises and examples use a sample database for a fictitious movie rental company. There’s a lot of questions you’ll have about this company. How many customers does it have? Which movies are grossing the highest amount for the business? Which stores are out of stock of particular films? You’ll be writing queries to answer real world questions about sales, staff, films, and customers.

Master PostgreSQL Image

Throughout this course you'll be learning SQL using PostgreSQL, the world's most advanced open source relational database. You'll learn about (and practice using) PostgreSQL features like DISTINCT ON, lateral joins, date math with intervals, set returning functions, modern window functions, materialized views, and more.
But you'll also be learning ANSI SQL too and I'll discuss when we deviate from it and why, so even if you happen to be using Microsoft SQL Server, MySQL, or Oracle Database you'll still learn key concepts and skills that easily transfer over.
Image

Level up in snack sized pieces

The emphasis of the course is on learning SQL techniques to solve real problems and practicing those techniques in both simple and complex situations. You'll spend most of your time working through the exercises, getting practice to help you level up. Perfect for the busy adult (and battle tested by a busy mum of two young boys *)
1.
Problem

Come across a problem you don't currently have the tools to solve

2.
Solution

Learn a new technique to attack the problem

3.
Practice

Apply the technique to a straightforward problem

4.
Adapt

Apply the technique in a novel way, combining with earlier learned techniques

Neil Sainsbury

About Me

I'm Neil Sainsbury, a software developer and database expert, and I built this course to share what I’ve learned from over 10 years of working with relational databases and SQL.
Previously, I was the co-founder and Chief Technology Officer at RateIt, a customer feedback platform used by millions of people, and I also did heavy data-crunching work applying neural networks to analyze mining site microseismic data at CSIRO.
I've worked with many different companies around the world including BlackBerry, Ball Aerospace, Mobile Nations, and others and built and shipped multiple products at my own company, BBSmart.

What you're going to be learning

1. Introduction to databases and the relational model
Image 3 videos Image 26 minutes

1. Course introduction (3:34)

2. Databases and SQL (10:46)

3. Tables and the relational model (12:19)

2. Getting setup
Image 5 videos Image 39 minutes

4. Installing PostgreSQL and DBeaver (Windows) (4:29)

5. Installing PostgreSQL and DBeaver (Mac) (4:46)

6. Creating your first database and table (19:30)

7. Several nice tweaks for DBeaver (4:13)

8. Setting up the sample database (6:05)

3. Query fundamentals
Image 11 videos Image 79 minutes Image 43 exercises

9. SELECT FROM (8:18)

10. Derived Columns (11:26)

11. Filtering with WHERE (10:29)

12. AND, OR, and NOT (5:09)

13. NULL handling (5:28)

14. IN, BETWEEN, and LIKE (7:13)

15. ORDER BY (8:39)

16. SQL Order of execution (5:25)

17. LIMIT and OFFSET (5:08)

18. DISTINCT (4:34)

19. CASE expressions (7:31)

4. Aggregate functions and grouping
Image 3 videos Image 27 minutes Image 14 exercises

20. Common aggregate functions (4:19)

21. GROUP BY and HAVING (11:45)

22. CASE expressions and aggregations (10:46)

5. Understanding data types
Image 4 videos Image 65 minutes Image 14 exercises

23. Introduction to data types (14:03)

24. Character data types (11:51)

25. Number data types (19:09)

26. Date and time data types (19:39)

6. Joining data from multiple tables
Image 5 videos Image 49 minutes Image 11 exercises

27. Introduction to joins (2:57)

28. Cross joins (8:40)

29. Inner joins (12:26)

30. Outer joins (16:33)

31. Advanced join topics (8:53)

7. Subqueries
Image 5 videos Image 49 minutes Image 16 exercises

32. Uncorrelated subqueries (11:00)

33. Correlated subqueries (13:12)

34. Table subqueries (11:43)

35. Lateral subqueries (4:40)

36. Common table expressions (8:14)

8. Window functions
Image 3 videos Image 30 minutes Image 8 exercises

37. Ranking window functions (8:56)

38. Aggregate window functions (12:39)

39. LAG and LEAD (8:07)

9. Working with sets
Image 4 videos Image 22 minutes Image 8 exercises

40. A little bit of set theory (3:10)

41. UNION (7:40)

42. INTERSECT (4:20)

43. EXCEPT (7:01)

10. Creating tables and constraints
Image 4 videos Image 54 minutes Image 14 exercises

44. Creating tables (14:41)

45. Primary keys (17:48)

46. Foreign keys (11:05)

47. CHECK, UNIQUE, and NOT NULL constraints (10:47)

11. Inserting, updating, and deleting data
Image 4 videos Image 33 minutes Image 14 exercises

48. Importing and exporting data (10:28)

49. Using transactions and inserting data (9:10)

50. Updating data (8:58)

51. Deleting data (4:28)

12. Views and functions
Image 5 videos Image 35 minutes Image 10 exercises

52. Views (7:48)

53. Materialized views (5:44)

54. Functions (2:27)

55. Writing functions with SQL (8:24)

56. Writing functions with PL/pgSQL (10:15)

13. Query performance and indexing
Image 4 videos Image 45 minutes

57. Query plans with EXPLAIN (11:30)

58. Indexes (10:56)

59. Reading complex query plans (10:17)

60. Query optimization (11:30)

Image

Going free ~ soon!

Didn't this used to be a paid course?
Image

Yep! I've decided though that it's time to open up the course to everyone and plan to make it publicly available via YouTube in the coming weeks.