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
store_name Sales Date
Los Angeles 1500 € 05-Jan-1999
San Diego 250 € 07-Jan-1999
Los Angeles 300 € 08-Jan-1999
Boston 700 € 08-Jan-1999

Tabel Geography
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego

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:

store_name SALES
Boston 700 €
New York
Los Angeles 1800 €
San Diego 250 €

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.

SQL Concatenate >>




Copyright © 2013   1keydata.com   Alle rechten voorbehouden.



SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Functies
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL Join
SQL Outer Join
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM
SQL LENGTH
SQL REPLACE
SQL DATEADD
SQL DATEDIFF
SQL DATEPART
SQL GETDATE
SQL SYSDATE




Site-overzicht