MySQL Database Management

Master MySQL database design, queries, joins, and optimization techniques.

intermediate Databases 5 hours

Chapter 6: Advanced Queries - JOINs, Subqueries

Chapter 6 of 15

Chapter 6: Advanced Queries - JOINs, Subqueries

6.1 INNER JOIN

INNER JOIN returns rows that have matching values in both tables.

SELECT users.username, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id;

6.2 LEFT JOIN and RIGHT JOIN

LEFT JOIN returns all rows from left table, matching rows from right.

SELECT users.username, orders.total
FROM users
LEFT JOIN orders ON users.id = orders.user_id;

6.3 Subqueries

Subqueries are queries nested inside other queries.

-- Subquery in WHERE clause
SELECT * FROM users 
WHERE id IN (SELECT user_id FROM orders WHERE total > 100);

-- Subquery in SELECT
SELECT username, 
       (SELECT COUNT(*) FROM orders WHERE orders.user_id = users.id) as order_count
FROM users;