Junior
Cos'è una join sinistra (left join) in SQL?
sobes.tech AI
Risposta dell'AI
La join sinistra (LEFT JOIN o LEFT OUTER JOIN) in SQL restituisce tutte le righe della tabella "sinistra" e le righe corrispondenti della tabella "destra". Se non viene trovata corrispondenza nella tabella di destra, i valori delle colonne di quest'ultima saranno NULL.
-
Sintassi:
SELECT elenco_colonne FROM tabella1 -- Tabella sinistra LEFT JOIN tabella2 ON tabella1.colonna = tabella2.colonna; -
Risultato:
- Tutte le righe di
tabella1. - Le righe corrispondenti di
tabella2. - Per le righe di
tabella1senza corrispondenza intabella2, le colonne ditabella2conterrannoNULL.
- Tutte le righe di
-
Esempio:
Supponiamo di avere due tabelle:
OrderseCustomers. Vogliamo ottenere un elenco di tutti gli ordini e le informazioni sui clienti che li hanno effettuati. Se un ordine non ha cliente (ad esempio, eliminato), vogliamo comunque vedere quell'ordine.-- Tabella Orders -- OrderID | CustomerID | OrderDate -- 1 | 101 | 2023-10-26 -- 2 | 102 | 2023-10-26 -- 3 | NULL | 2023-10-27 -- Tabella Customers -- CustomerID | CustomerName -- 101 | Alice -- 102 | Bob SELECT O.OrderID, C.CustomerName FROM Orders AS O LEFT JOIN Customers AS C ON O.CustomerID = C.CustomerID;OrderID CustomerName 1 Alice 2 Bob 3 NULL