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 su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

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

×