IntermediateJOINs (INNER, LEFT, RIGHT, FULL)

USING clause in JOIN for cleaner syntax

The query

SQL
-- USING when column names are identical in both tables
SELECT
  emp_id, first_name, last_name, dept_name
FROM employees
JOIN departments USING (dept_id); -- instead of ON e.dept_id = d.dept_id

-- Multiple columns with USING
SELECT * FROM order_items
JOIN products USING (product_id);

-- NATURAL JOIN (avoid — implicit USING all common columns)
-- SELECT * FROM employees NATURAL JOIN departments; -- dangerous!
Tested against PostgreSQL 16

Note

USING is a shorthand when join column names match. Cleaner syntax. NATURAL JOIN auto-detects but is fragile.

Tables referenced