Wat is Left Outer Join in SQL?
Vandaag bespreken we de Left Outer Join. Left Outer Join of linkse join is hetzelfde als in SQL. In de left outer join worden alle gegevens uit de linkertabel van de join teruggegeven. Op hetzelfde moment, het ook overeen met de gegevens uit de tabel aan de rechterkant na de linker join.
Een ding dat je nodig hebt om in gedachten te houden. Als er rijen beschikbaar zijn in de tabel aan de linkerkant en er zijn geen overeenkomende gegevens beschikbaar in de tabel aan de rechterkant, dan zal de resultatenset alleen null-waarden voor hen bevatten.
Left Outer Join Syntax
1
2 3 4 5 6 7 8 |
SELECT lefttable1.kolom1,lefttable1.kolom2,lefttable2.kolom1,….
VAN lefttable1 LEFT JOIN lefttable2 ON lefttable1.matching_column = lefttable2.matching_column; lefttable1: EERSTE TABEL. linkertabel2: TWEEDE TABEL matching_column: COLUMN gemeenschappelijk voor BEIDE TABELLEN. |
De bovenstaande syntaxis is heel eenvoudig te begrijpen. Ik zal het je uitleggen aan de hand van een echt voorbeeld. Ik ga twee tabellen maken, één voor “BOEKKLANTEN” en één voor “BESTELLINGEN”. Hoe gebruik je Left Outer Join? We gaan je een praktisch voorbeeld laten zien van een left outer join, volg mij. Ik ga het niet hebben over hoe je een database of tabel aanmaakt. Ik ga ervan uit dat u twee tabellen kunt maken zoals we hieronder laten zien:
TABEL A: BOEKKLANTEN
1
2 3 4 5 6 7 8 9 |
+—-+———-+—–+———–+———-+
| ID | NAME | AGE | ADDRESS | SALARY | +—-+———-+—–+———–+———-+ | 1 | SAMUAL | 32 | Austin | 8000.00 | | 2 | Johnson | 25 | Ohio | 9500.00 | | 3 | Mathew | 23 | NEW York | 7000.00 | | 4 | Eva | 25 | Texas | 6500.00 | | 5 | April | 27 | San Marcos | 8500.00 | +—-+———-+—–+———–+———-+ |
TABLE B: BESTELLINGEN
1
2 3 4 5 6 7 8 |
+—–+———————+—————–+——–+
| OID | DATE | BOOKCUSTOMER_ID | AMOUNT | +—–+———————+—————–+——–+ | 102 | 2019-12-08 00:00:00 | 3 | 4000 | | 100 | 2019-09-08 00:00:00 | 3 | 3500 | | 101 | 2019-08-20 00:00:00 | 2 | 6560 | | 103 | 2018-05-20 00:00:00 | 4 | 2060 | +—–+———————+—————–+——–+ |
Dus nu gaan we deze twee tabellen samenvoegen met behulp van de left outer join om toegang te krijgen tot de gegevens van de tabel.
SQL Query voor Left Outer Join:
1
2 3 4 |
SQL> SELECT ID, NAME, AMOUNT
FROM BOOKCUSTOMERS LEFT JOIN ORDERS ON BOOKCUSTOMERS.ID = ORDERS.BOOKCUSTOMER_ID; |
In regel 1 selecteren we de kolommen die we in ons eindresultaat uit de tabel “BOOKCUSTOMERS” willen laten zien.In regel 3 gebruiken we het trefwoord “Left Join” om Left Join in onze query te gebruiken.
In de laatste regel matchen we kolommen uit tabel 1 met de kolom in tabel 2. In ons geval matchen we “BOOKCUSTOMERS.ID” met “ORDERS.BOOKCUSTOMER_ID”.
Resultaat
Nu kunt u hieronder het eindresultaat zien:
1
2 3 4 5 6 7 8 9 10 11 |
+—-+———-+——–+
| ID | NAME | AMOUNT | +—-+———-+——–+ | 1 | SAMUAL | NULL | | 2 | Johnson | 6560 | | 3 | Mathew | 4000 | | 3 | Mathew | 3500 | | 2 | John | 6560 | | 4 | Eva | 2060 | | 5 | April | NULL | +—-+———-+——–+ |