Middle
Qual è la differenza tra JOIN, LEFT JOIN e RIGHT JOIN?
sobes.tech AI
Risposta dell'AI
JOIN è un'operazione in SQL che combina le righe di due tabelle in base alla condizione di corrispondenza dei valori nelle colonne specificate.
- JOIN (o INNER JOIN) restituisce solo le righe che hanno corrispondenze in entrambe le tabelle.
- LEFT JOIN restituisce tutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra. Se non ci sono corrispondenze, le colonne della tabella di destra saranno NULL.
- RIGHT JOIN restituisce tutte le righe della tabella di destra e quelle corrispondenti di quella di sinistra, con NULL dove non ci sono corrispondenze.
Esempio:
SELECT * FROM A
JOIN B ON A.id = B.a_id; -- solo corrispondenze
SELECT * FROM A
LEFT JOIN B ON A.id = B.a_id; -- tutto da A + corrispondenze da B
SELECT * FROM A
RIGHT JOIN B ON A.id = B.a_id; -- tutto da B + corrispondenze da A