Applies ToAccess per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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, ProductNameFROM Categories INNER JOIN ProductsON 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 campiFROM tabella1 INNER JOIN tabella2ON tabella1.campo1operatorediconfrontotabella2.tabella1 ANDON tabella1.campo2operatorediconfrontotabella2.campo2) ORON tabella1.campo3operatorediconfrontotabella2.campo3)];

È anche possibile annidare istruzioni JOIN usando la sintassi seguente:

SELECT campiFROM 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.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.