Sobes.tech
Junior — Middle

Qual è la differenza tra un INNER JOIN e un RIGHT OUTER JOIN in SQL?

sobes.tech AI

Risposta dell'AI

In SQL, l'unione interna (INNER JOIN) e l'unione esterna destra (RIGHT OUTER JOIN) differiscono per le righe delle tabelle incluse nel risultato.

  • INNER JOIN restituisce solo le righe che hanno corrispondenze in entrambe le tabelle secondo la condizione di join.

  • RIGHT OUTER JOIN restituisce tutte le righe dalla tabella di destra e le righe corrispondenti dalla tabella di sinistra. Se per una riga della tabella di destra non ci sono corrispondenze nella sinistra, i campi della tabella di sinistra saranno NULL.

Esempio:

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;
-- Restituisce solo le righe dove A.id corrisponde a B.a_id

SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.a_id;
-- Restituisce tutte le righe di B, anche se non ci sono corrispondenze in A