Snelle referentie

SQL Joins spiekbriefje

Snelle referentiegids voor SQL-tabelkoppelingen: INNER JOIN, LEFT JOIN, RIGHT JOIN en FULL OUTER JOIN met syntaxis en Venn-logica.

· Gepubliceerd

Syntaxisvoorbeeld

SELECT order_items.id, orders.order_date, order_items.price
FROM order_items
LEFT OUTER JOIN orders
  ON order_items.order_id = orders.id;

Joins combineren rijen uit twee of meer tabellen op basis van een gerelateerde kolom ertussen.

Joins visualiseren

SELECT * FROM `A` INNER JOIN `B`
┌────────┐
│ A  ┌───┼────┐
│    │ ∩ │    │
└────┼───┘  B │
     └────────┘
Join-type Opgenomen gegevens Beschrijving
INNER JOIN ∩ Retourneert records met overeenkomende waarden in beide tabellen
LEFT OUTER JOIN A + ∩ Retourneert alle records uit tabel A en overeenkomende uit tabel B
RIGHT OUTER JOIN ∩ + B Retourneert alle records uit tabel B en overeenkomende uit tabel A
FULL OUTER JOIN A + ∩ + B Retourneert alle records wanneer er een overeenkomst is in de linker- of rechtertabel

Join-varianten en filters

Left Join exclusief doorsnede

SELECT * FROM A
LEFT JOIN B ON A.key = B.key
WHERE B.key IS NULL;

Right Join exclusief doorsnede

SELECT * FROM A
RIGHT JOIN B ON A.key = B.key
WHERE A.key IS NULL;

Full Outer Join exclusief doorsnede

SELECT * FROM A
FULL OUTER JOIN B ON A.key = B.key
WHERE A.key IS NULL OR B.key IS NULL;

Verwante onderwerpen