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...