Sobes.tech
Junior — Middle

Puoi spiegare le differenze tra un join interno e un join sinistro in SQL?

sobes.tech AI

Risposta dell'AI

Inner Join (INNER JOIN) restituisce solo le righe che hanno corrispondenze in entrambe le tabelle secondo la condizione di join. Se in una delle tabelle non c'è una corrispondenza, quella riga non verrà inclusa nel risultato.

Left Join (LEFT JOIN) restituisce tutte le righe della tabella di sinistra e le righe corrispondenti della tabella di destra. Se non c'è corrispondenza, i valori della tabella di destra saranno NULL.

Esempio:

SELECT a.id, a.name, b.order_id
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

Restituirà solo i clienti con ordini.

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;

Restituirà tutti i clienti, inclusi quelli senza ordini (in questo caso, order_id sarà NULL).