Introduction
INNER JOIN helps combine rows from two tables when they have matching values in a related column.
SELECT columns FROM table1 INNER JOIN table2 ON table1.common_column = table2.common_column;
SELECT employees.name, departments.name FROM employees INNER JOIN departments ON employees.department_id = departments.id;
SELECT orders.id, customers.name FROM orders INNER JOIN customers ON orders.customer_id = customers.id;
CREATE TABLE customers ( id SERIAL PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE orders ( id SERIAL PRIMARY KEY, customer_id INT, product VARCHAR(50) ); INSERT INTO customers (name) VALUES ('Alice'), ('Bob'); INSERT INTO orders (customer_id, product) VALUES (1, 'Book'), (2, 'Pen'), (3, 'Notebook'); SELECT orders.id AS order_id, customers.name AS customer_name, orders.product FROM orders INNER JOIN customers ON orders.customer_id = customers.id ORDER BY orders.id;
INNER JOIN do in PostgreSQL?employees(id, name, dept_id)departments(id, dept_name)SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id = d.id;
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.id WHERE orders.date > '2023-01-01'
products(id, name)sales(product_id, quantity)Pass the test and this pattern moves unknown