Come lavori con SQL? Quali sono le differenze tra INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?
sobes.tech AI
Risposta dell'AI
SQL JOIN è un'operazione di unione dei dati di due tabelle tramite un campo correlato. Le differenze tra i tipi di JOIN:
-
INNER JOIN — restituisce solo le righe che hanno corrispondenze in entrambe le tabelle.
-
LEFT JOIN (LEFT OUTER JOIN) — restituisce tutte le righe della tabella di sinistra e le corrispondenti della destra; se non ci sono corrispondenze, i valori della destra saranno NULL.
-
RIGHT JOIN (RIGHT OUTER JOIN) — al contrario, restituisce tutte le righe della tabella di destra e le corrispondenti della sinistra; se non ci sono corrispondenze, i valori della sinistra saranno NULL.
-
FULL OUTER JOIN — restituisce tutte le righe di entrambe le tabelle; se non ci sono corrispondenze, i valori corrispondenti saranno NULL.
Esempio:
SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;
Questa query restituirà tutti i clienti con i loro ordini, se presenti, o NULL nel campo order_date se non ci sono ordini.