97. LEFT JOIN 101

Let’s look at INNER JOIN from the perspective of relations. Let’s recall one of our previous queries with INNER JOIN we used to calculate the most popular book:

SELECT name, COUNT(DISTINCT(bu.user_id)) FROM books_users bu INNER JOIN books b ON bu.book_id = b.id GROUP BY 1 ORDER BY 2 DESC, name ASC 

books_users and books has one-to-many relationship: One book has many books_users, in other words A record in books_users table belongs to one book. When we INNER JOIN books to books_users we attach a row from books table to each row in books_users...

“well worth the money”
Sign up and check out 36 free lessons and exercises.

Anatoli Makarevich, author of SQL Habit About SQL Habit

Hi, it’s Anatoli, the author of SQL Habit. 👋

SQL Habit is a course (or, as some of the students say, “business simulator”). It’s based on a story of a fictional startup called Bindle. You’ll play a role of their Data Analyst 📊 and solve real-life challenges from Business, Marketing, and Product Management.

SQL Habit course is made of bite-sized lessons (you’re looking at one atm) and exercises. They always have a real-life setting and detailed explanations. You can immediately apply everything you’ve learned at work. 🚀

“well worth the money”

Fluent in SQL in a month

Master Data Analysis with SQL with real life examples from Product Management, Marketing, Finance and more.
-- Type your query here, for example this one -- lists all records from users table: SELECT * FROM users
LIMIT 500
Loading chart... ⏳