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