Sobes.tech
Middle

Qual è la differenza tra LEFT JOIN e INNER JOIN?

sobes.tech AI

Risposta dell'AI

INNER JOIN restituisce solo le righe che hanno valori corrispondenti in entrambe le tabelle. Se in una delle tabelle non c'è una corrispondenza, quella riga non verrà inclusa nel risultato.

LEFT JOIN (o LEFT OUTER JOIN) restituisce tutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra. Se non c'è corrispondenza nella tabella di destra, i campi di questa saranno NULL nel risultato.

Esempio:

SELECT A.id, B.value
FROM A
INNER JOIN B ON A.id = B.a_id;

-- Restituirà solo gli id di A che hanno una corrispondenza in B

SELECT A.id, B.value
FROM A
LEFT JOIN B ON A.id = B.a_id;

-- Restituirà tutti gli id di A, e per quelli senza corrispondenza in B, value sarà NULL