SQL OUTER JOIN
Samenvatting: in deze tutorial leer je hoe je SQL outer join gebruikt, inclusief left outer join, right outer join en volledige outer join.
Als je meer wilt weten over SQL INNER JOIN, bekijk dan de tutorial SQL INNER JOIN.
Er zijn drie soorten OUTER JOIN: left outer join, rechts buitenste voeg en volledige buitenste voeg. Laten we elk type join in meer detail bekijken.
SQL OUTER JOIN – left outer join
SQL left outer join is ook bekend als SQL left join. Stel dat we twee tabellen willen samenvoegen: A en B. SQL left outer join retourneert alle rijen in de linkertabel (A) en alle overeenkomende rijen in de rechtertabel (B). Het betekent dat het resultaat van de SQL left join altijd de rijen in de linkertabel bevat.
Het volgende illustreert de linksbuitenste SQL-syntaxis van het samenvoegen van 2 tabellen: table_A en table_B:
1
2
3
4
|
SELECTEER column1, column2 …
FROM table_A
LINKS JOIN table_B ON join_condition
WAAR row_condition
|
SQL OUTER JOIN – voorbeeld linksbuitendeel
De volgende zoekopdracht selecteert alle klanten en hun bestellingen:
1
2
3
4
5
6
|
SELECTEER c.customerid,
c.companyName,
orderid
VAN klanten c
LINKS JOIN bestellingen o OP o.customerid = c .customerid
ORDER BY orderid
|
Alle rijen in de klantentabel worden weergegeven. In het geval dat er geen overeenkomende rij in de ordertabel is gevonden voor de rij in de klantentabel, wordt de orderid-kolom in de ordertabel gevuld met NULL-waarden.
We kunnen een Venn-diagram gebruiken om te visualiseren hoe SQL LEFT OUTER JOIN werkt.
SQL OUTER JOIN – rechter buitenste join
SQL rechter buitenste join retourneert alle rijen in de rechtertabel en alle overeenkomende rijen in de linkertabel. De syntaxis van de SQL right outer join is als volgt:
1
2
3
4
|
SELECTEER kolom1, kolom2 …
VAN table_A
RECHTS JOIN table_B ON join_condition
WAAR row_condition
|
SQL right outer join is ook bekend als SQL right join.
SQL OUTER JOIN – voorbeeld rechter buitenste join
Het volgende voorbeeld toont de SQL rechter buitenste join:
1
2
3
4
5
6
|
SELECTEER c.customerid,
c.companyName,
orderi d
VAN klanten c
RECHTS JOIN bestellingen o OP o.customerid = c.customerid
ORDER BY orderid
|
De query retourneert alle rijen in de ordertabel en alle overeenkomende rijen gevonden in de klantentabel.
Het volgende Venn-diagram illustreert hoe de SQL right outer join werkt:
SQL OUTER JOIN – volledige outer join
De syntaxis van de SQL full outer join is als volgt:
1
2
3
4
|
SELECTEER kolom1, kolom2 …
FROM table_A
FULL OUTER JOIN table_B ON join_condition
WAAR rij_voorwaarde
|
SQL volledige outer join geeft als resultaat:
- all ro ws in de linker tabel table_A.
- alle rijen in de rechter tabel table_B.
- en alle overeenkomende rijen in beide tabellen.
Sommige database beheersystemen ondersteunen geen SQL full outer join syntaxis, bijvoorbeeld MySQL. Omdat SQL full outer join een resultaatset retourneert die een gecombineerd resultaat is van zowel SQL left join als SQL right join.Daarom kunt u de SQL full outer join eenvoudig emuleren met SQL left join en SQL right join met de UNION-operator als volgt:
SQL OUTER JOIN – voorbeeld van volledige outer join
De volgende query demonstreert de SQL volledige outer join:
1
2
3
4
5
6
|
SELECTEER c.customerid,
c.companyName,
orderid
VAN klanten c
VOLLEDIGE OUTER JOIN-bestellingen o OP o.customerid = c.customerid
ORDER BY orderid
|
Het volgende Venn-diagram illustreert hoe SQL full outer join werkt:
In deze tutorial heb je geleerd over verschillende SQL OUTER JOIN inclusief SQL left join, SQL right join en SQL volledige outer join.
- Was deze tutorial nuttig?
- JaNee