Che cos’è la Left Outer Join in SQL?

Oggi, discuteremo la Left Outer Join. Left Outer Join o Left Join è la stessa cosa in SQL: nel left outer join, restituisce tutti i dati dalla tabella di sinistra del join. Allo stesso tempo, corrisponde anche ai dati della tabella sul lato destro dopo la giunzione a sinistra.

Una cosa in più che dovete tenere a mente. Se ci sono righe disponibili nella tabella di sinistra e non ci sono dati corrispondenti disponibili nella tabella di destra, l’insieme dei risultati conterrà solo valori nulli.

Sintassi della Left Outer Join

1
2
3
4
5
6
7
8
SELECT lefttable1.column1,lefttable1.column2,lefttable2.column1,….
FROM lefttable1
LEFT JOIN lefttable2
ON lefttable1.matching_column = lefttable2.matching_column;
lefttable1: PRIMA TABELLA.
lefttable2: SECONDA TABELLA
matching_column: COLONNA comune ad entrambe le TAVOLE.

Questa sintassi è davvero facile da capire. Ora, sto per creare due tabelle, una per “BOOKCUSTOMERS” e l’altra per “ORDERS”. Come usare il Left Outer Join? Stiamo per mostrarvi un esempio pratico di un left outer join, seguitemi. Non parlerò di come creare un database o una tabella. Presumo che tu possa creare due tabelle come stiamo mostrando qui sotto:

Tabella A: BOOKCUSTOMERS

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 |
+—-+———-+—–+———–+———-+

Tabella B: ORDINI

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 |
+—–+———————+—————–+——–+

Ora, uniremo queste due tabelle con l’aiuto del left outer join per accedere ai dati della tabella.

Query SQL per Left Outer Join:

1
2
3
4
SQL> SELECT ID, NOME, IMPORTO
FROM BOOKCUSTOMERS
LEFT JOIN ORDERS
ON BOOKCUSTOMERS.ID = ORDINI.BOOKCUSTOMER_ID;

Nella riga 1, stiamo selezionando le colonne che vogliamo mostrare nel nostro risultato finale dalla tabella “BOOKCUSTOMERS”.Ora nella linea 3, usiamo la parola chiave “Left Join” per usare Left Join nella nostra query.

Nell’ultima linea, facciamo corrispondere le colonne della tabella 1 con le colonne della tabella 2. Nel nostro caso, facciamo corrispondere “BOOKCUSTOMERS.ID” con “ORDERS.BOOKCUSTOMER_ID”.

Risultato

Ora potete vedere il risultato finale qui sotto:

1
2
3
4
5
6
7
8
9
10
11
+—-+———-+——–+
| ID | NOME | IMPORTO |
+—-+———-+——–+
|| 1 | SAMUAL | NULL |
| 2 | Johnson | 6560 |
| 3 | Mathew | 4000 |
| 3 | Mathew | 3500 |
|| 2 | John | 6560 |
|| 4 | Eva | 2060 |
| 5 | April | NULL |
+—-+———-+——–+

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *