Introduction
Joining more than two tables lets you combine data from multiple sources to see related information all together.
Jump into concepts and practice - no test required
SELECT columns FROM table1 JOIN table2 ON table1.common_column = table2.common_column JOIN table3 ON table2.common_column = table3.common_column;
SELECT orders.id, customers.name, products.name FROM orders JOIN customers ON orders.customer_id = customers.id JOIN products ON orders.product_id = products.id;
SELECT employees.name, departments.name, managers.name FROM employees JOIN departments ON employees.department_id = departments.id JOIN managers ON departments.manager_id = managers.id;
CREATE TABLE customers (id INT, name VARCHAR(50)); CREATE TABLE orders (id INT, customer_id INT, product_id INT); CREATE TABLE products (id INT, name VARCHAR(50)); INSERT INTO customers VALUES (1, 'Alice'), (2, 'Bob'); INSERT INTO products VALUES (10, 'Book'), (20, 'Pen'); INSERT INTO orders VALUES (100, 1, 10), (101, 2, 20); SELECT orders.id AS order_id, customers.name AS customer_name, products.name AS product_name FROM orders JOIN customers ON orders.customer_id = customers.id JOIN products ON orders.product_id = products.id;
A, B, and C on columns A.id = B.a_id and B.id = C.b_id?Students(id, name),Enrollments(student_id, course_id),Courses(id, title)SELECT Students.name, Courses.title FROM Students JOIN Enrollments ON Students.id = Enrollments.student_id JOIN Courses ON Enrollments.course_id = Courses.id;
SELECT * FROM A JOIN B ON A.id = B.a_id JOIN C ON A.id = C.a_id;
Orders(order_id, customer_id),Customers(customer_id, name),Payments(payment_id, order_id, amount).