SQL Outer Join | |
|
SQL >
SQL Opdrachten >
Outer Join
Hiervoor zag u een linker-join, of inner join, waarbij u rijen selecteert die gemeenschappelijk zijn voor de tabellen die betrokken zijn bij de join. Wat gebeurt als u elementen wenst te selecteren in een tabel ongeacht het feit of ze aanwezig zijn in de tweede tabel? U moet in dit geval de opdracht SQL OUTER JOIN gebruiken. De syntaxis voor het uitvoeren van een outer join in SQL is databaseafhankelijk. In Oracle bijvoorbeeld wordt een "(+)" geplaatst in de component WHERE aan de andere zijde van de tabel waarvan u alle rijen wilt omvatten. Veronderstel dat u de volgende twee tabellen hebt, Tabel Store_Information
Tabel Geography
en u wenst de omzet voor alle winkels. Met een gewone join verkrijgt u dit niet, want "New York" zal niet zijn inbegrepen vermits het niet voorkomt in de tabel Store_Information. Daarom moet u een outer join uitvoeren op de twee bovengenoemde tabellen: SELECT A1.Store_Name, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2 WHERE A1.Store_Name = A2.Store_Name (+) GROUP BY A1.Store_Name; Bemerk dat in dit geval Oracle syntaxis wordt gebruikt voor de outer join. Resultaat:
Opmerking: De uitvoer is NULL wanneer er geen overeenkomst is in de tweede tabel. In dit geval komt 'New York' niet voor in de tabel Store_Information, dus is de overeenstemmende "SALES" kolom NULL.
Copyright © 2024 1keydata.com Alle rechten voorbehouden |