Skip to content

Last modified: April 17, 2025

Notes on JOIN

There are multiple ways to join tables, with the two below being among the most common:

SELECT DISTINCT cname  
FROM Product, Company  
WHERE manufacturer = cname
SELECT DISTINCT cname  
FROM Product
JOIN Company
ON manufacturer = cname


A simple JOIN example

Product

pname category manufacturer
Gizmo gadget GizmoWorks
Camera Photo Hitachi
OneClick Photo Hitachi

Company

cname country
GizmoWorks USA
Canon Japan
Hitachi Japan
SELECT DISTINCT cname  
FROM Product p, Company c
WHERE p.manufacturer = c.cname;
cname
GizmoWorks
Hitachi


(Inner) JOIN

FROM Product, Company
"From all possible combinations of product of company"

WHERE
"... choose only those results where the manufacturer of the product is the same as the company name"

SELECT DISTINCT cname
"... then display only the unique company names."


Outer JOIN

Employee

id name
1 Joe
2 Jack
3 Jill

Sales

employeeID productID
1 344
1 355
2 544
-- Retrieve employees and their sales

SELECT *
FROM Employee E
LEFT OUTER JOIN Sales S
ON E.id = S.employeeID;
id name employeeID productID
1 Joe 1 344
1 Joe 1 355
2 Jack 2 544
3 Jill NULL NULL

FROM Employee E LEFT OUTER JOIN Sales S
Start with all rows from the Employee table, and include matching rows from Sales — if there is no match, still include the employee with NULLs for sales data.