Junior — Middle
Puoi spiegare le differenze tra i diversi tipi di join tra tabelle in SQL?
sobes.tech AI
Risposta dell'AI
In SQL, ci sono diversi tipi principali di join (JOIN) che consentono di combinare dati da due o più tabelle:
- INNER JOIN — restituisce solo le righe in cui c'è una corrispondenza in entrambe le tabelle secondo la condizione.
- LEFT JOIN (LEFT OUTER JOIN) — restituisce tutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra; se non ci sono corrispondenze, i valori di destra saranno NULL.
- RIGHT JOIN (RIGHT OUTER JOIN) — restituisce tutte le righe della tabella di destra e le righe corrispondenti di quella di sinistra.
- FULL JOIN (FULL OUTER JOIN) — restituisce tutte le righe di entrambe le tabelle, riempiendo con NULL dove non ci sono corrispondenze.
- CROSS JOIN — prodotto cartesiano di due tabelle, restituisce tutte le possibili combinazioni di righe.
Esempio di INNER JOIN:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
Questa query restituirà i nomi dei dipendenti e i nomi dei loro dipartimenti solo per i dipendenti che hanno un dipartimento.