INNER JOIN

Completato

Creare un join delle tabelle

Nei database relazionali i dati vengono spesso organizzati in più tabelle per ridurre al minimo la ridondanza e migliorare l'integrità dei dati. Questo approccio di progettazione, noto come normalizzazione, evita di ripetere le stesse informazioni in posizioni diverse. Ciò significa tuttavia che le informazioni utili vengono spesso distribuite tra più tabelle.

I join sono operazioni SQL essenziali che consentono di colmare questo divario, consentendo di combinare righe da due o più tabelle e recuperare i dati correlati in un singolo set di risultati unificato. In sostanza, i join consentono di eseguire query sulle informazioni connesse logicamente ma separate fisicamente. Questa combinazione viene ottenuta identificando e associando le righe in base ai valori trovati in una o più colonne comuni tra le tabelle. Queste colonne comuni spesso fungono da collegamento tra una chiave primaria in una tabella e una chiave esterna in un'altra, stabilendo le relazioni definite nello schema del database.

Nota: una chiave primaria è un identificatore univoco per ogni record di una tabella, assicurando che nessuna di due righe abbia lo stesso valore in questa colonna. Una chiave esterna, d'altra parte, è una colonna in una tabella che fa riferimento alla chiave primaria in un'altra tabella, collegando le due tabelle.

Esistono più "tipi" di join (INNER, LEFT, RIGHT, FULL OUTER, NATURAL), ognuno progettato per combinare tabelle in modi leggermente diversi. Forniscono il controllo sulle righe incluse nel set di risultati in base alla presenza o all'assenza di valori corrispondenti nelle tabelle unite.

INNER JOIN

Un INNER JOIN è uno dei tipi più usati di join SQL. Combina le righe di più tabelle in base a una condizione che specifica i valori corrispondenti in una colonna condivisa.

Quando si esegue un oggetto INNER JOIN, nel set di risultati vengono incluse solo le righe che soddisfano la condizione di entrambe le tabelle, filtrando in modo efficace tutti i dati non corrispondenti. Ciò rende INNER JOIN ideale per recuperare informazioni correlate in cui le connessioni tra le tabelle sono definite in modo esplicito, come gli ordini dei clienti o gli incarichi dei dipendenti.

SELECT orders.order_id, customers.customer_name, employees.first_name, employees.last_name
FROM sales.orders AS orders
INNER JOIN sales.customers AS customers ON orders.customer_id = customers.customer_id
INNER JOIN sales.employees AS employees ON orders.employee_id = employees.employee_id;

La query fornita usa più INNER JOIN operazioni per recuperare un set di risultati unificato contenente i dettagli su orders, customerse employees.

Abbina il customer_id nella tabella orders con il corrispondente customer_id nella tabella customers, e il employee_id nella tabella orders con il employee_id nella tabella employees. Di conseguenza, la query restituisce l'ID di ogni ordine insieme ai nomi del cliente e del dipendente coinvolti.