Harvard CS50: Complete Intro to Databases & SQL Course 📚
Learn how to design, manage, and manipulate databases using SQL in Harvard's CS50 course. Perfect for beginners wanting a solid foundation in relational databases!

freeCodeCamp.org
109.2K views • Oct 9, 2025

About this video
This is CS50’s introduction to databases using a language called SQL. You'll learn how to create, read, update, and delete data with relational databases, which store data in rows and columns.
You'll also learn how to model real-world entities and relationships among them using tables with appropriate types, triggers, and constraints.
Then you'll learn how to normalize data to eliminate redundancies and reduce potential for errors. You'll learn how to join tables together using primary and foreign keys. You'll learn how to automate searches with views and expedite searches with indexes. Learn how to connect SQL with other languages like Python and Java.
This course begins with SQLite for portability’s sake and ends with introductions to PostgreSQL and MySQL for scalability’s sake as well. Assignments inspired by real-world datasets.
💻 Slides, source code, and more at https://cs50.harvard.edu/sql/
✏️ Carter Zenke teaches this course.
❤️ Try interactive Frontend courses we love, right in your browser: https://scrimba.com/freeCodeCamp-Frontend (Made possible by a grant from our friends at Scrimba)
⭐️ Course Contents ⭐️
⌨️ (0:00:29) Introduction
⌨️ (0:02:35) Querying
⌨️ (1:21:49) Relating
⌨️ (3:03:28) Designing
⌨️ (4:24:52) Writing
⌨️ (4:24:52) Viewing
⌨️ (7:30:27) Optimizing
⌨️ (8:59:19) Scaling
You'll also learn how to model real-world entities and relationships among them using tables with appropriate types, triggers, and constraints.
Then you'll learn how to normalize data to eliminate redundancies and reduce potential for errors. You'll learn how to join tables together using primary and foreign keys. You'll learn how to automate searches with views and expedite searches with indexes. Learn how to connect SQL with other languages like Python and Java.
This course begins with SQLite for portability’s sake and ends with introductions to PostgreSQL and MySQL for scalability’s sake as well. Assignments inspired by real-world datasets.
💻 Slides, source code, and more at https://cs50.harvard.edu/sql/
✏️ Carter Zenke teaches this course.
❤️ Try interactive Frontend courses we love, right in your browser: https://scrimba.com/freeCodeCamp-Frontend (Made possible by a grant from our friends at Scrimba)
⭐️ Course Contents ⭐️
⌨️ (0:00:29) Introduction
⌨️ (0:02:35) Querying
⌨️ (1:21:49) Relating
⌨️ (3:03:28) Designing
⌨️ (4:24:52) Writing
⌨️ (4:24:52) Viewing
⌨️ (7:30:27) Optimizing
⌨️ (8:59:19) Scaling
Video Information
Views
109.2K
Likes
4.6K
Duration
11:08:49
Published
Oct 9, 2025
User Reviews
4.7
(21)