Sobes.tech
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