SQL LEFT JOIN
Wat is een LEFT JOIN in SQL?
EEN LEFT JOIN voert een join uit, beginnend met de eerste (meest linkse) tafel.
Vervolgens worden alle overeenkomende records van de tweede tabel (meest rechtse) opgenomen.
LEFT JOIN en LEFT OUTER JOIN zijn hetzelfde.
De SQL LEFT JOIN-syntaxis
De algemene LEFT JOIN-syntaxis is
SELECT column-names FROM table-name1 LEFT JOIN table-name2 ON column-name1 = column-name2 WHERE condition
De algemene LEFT OUTER JOIN-syntaxis is
SELECT column-names FROM table-name1 LEFT OUTER JOIN table-name2 ON column-name1 = column-name2 WHERE condition
Id
OrderDate
Ordernummer
KlantId
TotalAmount
Id
Voornaam
Achternaam
Stad
Land
Telefoon
SQL LEFT JOIN Voorbeeld
Probleem: maak een lijst van alle klanten en het
totale bedrag dat ze hebben uitgegeven, ongeacht
of ze bestellingen hebben geplaatst
of niet.
totale bedrag dat ze hebben uitgegeven, ongeacht
of ze bestellingen hebben geplaatst
of niet.
SELECT OrderNumber, TotalAmount, FirstName, LastName, City, Country FROM Customer C LEFT JOIN O ON O.CustomerId = C.Id ORDER BY TotalAmount
Opmerking: de ORDER BY TotalAmount toont eerst de klanten zonder bestellingen (d.w.z. TotalMount is NULL).
Resultaat: 832 records
OrderNumber | TotalAmount | Voornaam | Achternaam | Plaats | Land |
---|---|---|---|---|---|
NULL | NULL | Diego | Roel | Madrid | Spanje |
NULL | NULL | Marie | Bertrand | Parijs | Frankrijk |
542912 | 12.50 | Patricio | Simpson | Buenos Aires | Argentinië |
542937 | 18.40 | Paolo | Accorti | Torino | Italië |
542897 | 28,00 | Pascale | Cartrain | Charleroi | België |
542716 | 28,00 | Maurizio | Moroni | Reggio Emilia | Italië |
543028 | 30,00 | Yvon ne | Moncada | Buenos Aires | Argentinië |
543013 | 36,00 | Fran | Wilson | Portland | VS |