Operazione INNER JOIN

Riunisce record da due tabelle che includono valori corrispondenti in un campo comune.

Sintassi

FROM tabella1 INNER JOIN tabella2 ON tabella1.campo1compopr tabella2.campo2

L'operazione INNER JOIN è composta dalle parti seguenti:

Parte

Descrizione

tabella1, tabella2

Nomi delle tabelle di cui vengono combinati i record.

campo1, campo2

Nomi dei campi che vengono collegati tramite join. Se non includono dati numerici, i campi devono essere dello stesso tipo di dati e contenere lo stesso genere di dati, tuttavia non è necessario che abbiano lo stesso nome.

compopr

Operatore di confronto relazionale: "=," "<," ">," "<=," ">=," o "<>."


Osservazioni

È possibile usare un'operazione INNER JOIN in qualsiasi clausola FROM. Questo è il tipo di join più comune. Gli inner join combinano i record di due tabelle che contengono valori corrispondenti in un campo comune a entrambe le tabelle.

È possibile usare INNER JOIN con le tabelle Dipartimenti e Impiegati per selezionare tutti gli impiegati di un dipartimento. Al contrario, per selezionare tutti i dipartimenti (anche se ad alcuni non sono stati assegnati impiegati) o tutti gli impiegati (anche se alcuni non sono assegnati a un dipartimento), è possibile usare un'operazione LEFT JOIN o RIGHT JOIN per creare un outer join.

Se si prova a creare un join tra campi contenenti dati Memo o Oggetto OLE, si verifica un errore.

È possibile creare un join tra due campi numerici di tipo simile. Ad esempio, è possibile creare join tra campi Numerazione automatica e Intero lungo, perché sono tipi simili. Non è però on è possibile creare join tra tipi di campi Precisione singola e Precisione doppia.

L'esempio seguente mostra come creare un join tra tabelle Categorie e Prodotti nel campo IDCategoria:

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

Nell'esempio precedente il campo unito in join è IDCategoria, ma non viene restituito nell'output della query perché non è incluso nell'istruzione SELECT. Per includere il campo unito in join, immettere il nome del campo nell'istruzione SELECT, in questo caso Categories.CategoryID.

Usando la sintassi seguente è anche possibile collegare diverse clausole ON in un'istruzione JOIN:

SELECT campi
FROM tabella1 INNER JOIN tabella2
ON tabella1.campo1operatorediconfrontotabella2.tabella1 AND
ON tabella1.campo2operatorediconfrontotabella2.campo2) OR
ON tabella1.campo3operatorediconfrontotabella2.campo3)];

È anche possibile annidare istruzioni JOIN usando la sintassi seguente:

SELECT campi
FROM tabella1 INNER JOIN
(tabella2 INNER JOIN [( ]tabella3
[INNER JOIN [( ]tabellax [INNER JOIN ...)]
ON tabella3.campo3operatorediconfrontotabellax.campox)]
ON tabella2.campo2operatorediconfrontotabella3.campo3)
ON tabella1.campo1operatorediconfrontotabella2.campo2;

Un'operazione LEFT JOIN o RIGHT JOIN può essere annidata all'interno di INNER JOIN, ma un'operazione INNER JOIN non può essere annidata all'interno di LEFT JOIN o RIGHT JOIN.



Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×