Snabbreferens

SQL Joins fusklapp

Snabbreferens för SQL-tabellsammanslagningar: INNER JOIN, LEFT JOIN, RIGHT JOIN och FULL OUTER JOIN med syntax och Venndiagram.

· Publicerad

Syntaxexempel

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 kombinerar rader från två eller flera tabeller baserat på en relaterad kolumn mellan dem.

Visualisering av Joins

SELECT * FROM `A` INNER JOIN `B`
┌────────┐
│ A  ┌───┼────┐
│    │ ∩ │    │
└────┼───┘  B │
     └────────┘
Join-typ Inkluderade data Beskrivning
INNER JOIN ∩ Returnerar poster med matchande värden i båda tabellerna
LEFT OUTER JOIN A + ∩ Returnerar alla poster från tabell A och matchande från tabell B
RIGHT OUTER JOIN ∩ + B Returnerar alla poster från tabell B och matchande från tabell A
FULL OUTER JOIN A + ∩ + B Returnerar alla poster när det finns en träff i vänster eller höger tabell

Join-varianter och filter

Left Join exklusive snittet

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

Right Join exklusive snittet

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

Full Outer Join exklusive snittet

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

Relaterade ämnen