Operazione INNER JOIN

Si applica a
Access 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 I nomi dei campi che vengono collegati tramite join. Se non sono numerici, i campi devono essere dello stesso tipo di dati e contenere lo stesso tipo di dati, ma non devono necessariamente avere lo stesso nome.
compopr Qualsiasi 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 reparti (anche se ad alcuni non sono assegnati dipendenti) o tutti i dipendenti (anche se alcuni non sono assegnati a un reparto), è 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 collegato, includere 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:

CAMPI SELECT
FROM tabella1 INNER JOIN tabella2
ON tabella1. campo1compoprtable2. campo1 E
ON tabella1. campo2compoprtable2. campo2) O
ON tabella1. campo3confrontotabella2. campo3)];

È anche possibile annidare istruzioni JOIN usando la sintassi seguente:

CAMPI SELECT
FROM tabella1 INNER JOIN
(tabella2 INNER JOIN [( ]tabella3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabella3. field3compoprtablex. campox)]
ON tabella2. campo2compoprtable3. campo3)
ON tabella1. campo1compoprtable2. 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.