Sobes.tech
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.