Sobes.tech
Junior

Hoe werkt SQL Join?

sobes.tech AI

Antwoord van AI

SQL JOIN combineert rijen uit twee of meer tabellen op basis van een gerelateerde kolom tussen hen. Er zijn verschillende soorten JOIN:

  • INNER JOIN: Geeft rijen terug waar er overeenkomsten van waarden in beide tabellen zijn.
  • LEFT (OUTER) JOIN: Geeft alle rijen uit de linker tabel en de overeenkomende rijen uit de rechter tabel. Als er geen overeenkomsten zijn in de rechter tabel, worden NULL-waarden geretourneerd voor de kolommen van de rechter tabel.
  • RIGHT (OUTER) JOIN: Geeft alle rijen uit de rechter tabel en de overeenkomende rijen uit de linker tabel. Als er geen overeenkomsten zijn in de linker tabel, worden NULL-waarden geretourneerd voor de kolommen van de linker tabel.
  • FULL (OUTER) JOIN: Geeft alle rijen uit beide tabellen. Als er geen overeenkomsten zijn, worden NULL-waarden geretourneerd voor de overeenkomstige kolommen.
  • CROSS JOIN: Geeft het cartesiaanse product van twee tabellen (elke rij uit de eerste tabel wordt gecombineerd met elke rij uit de tweede).

De syntax ziet er meestal zo uit:

SELECT kolom1, kolom2...
FROM tabel1
JOIN tabel2 ON tabel1.gemeenschappelijke_kolom = tabel2.gemeenschappelijke_kolom;

Voorbeeld van INNER JOIN:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Laten we de tabellen customers en orders bekijken:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Het resultaat van INNER JOIN zal zijn:

order_id customer_name
101 Alice
102 Bob
103 Alice

Het resultaat van LEFT JOIN (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL