Combina i record della tabella di origine quando viene usato in una clausola FROM.

Sintassi

FROM tabella1 [ LEFT | RIGHT ] JOIN tabella2
ON tabella1.campo1operconfronto tabella2.campo2

Le operazioni LEFT JOIN e RIGHT JOIN includono le 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. I campi devono essere dello stesso tipo di dati e includere lo stesso genere di dati, tuttavia non è necessario che utilizzino lo stesso nome.

compopr

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


Osservazioni

Usare un'operazione LEFT JOIN per creare un left outer join. I left outer join includono tutti i record della prima (sinistra) di due tabelle, anche se non sono presenti valori corrispondenti per i record della seconda tabella (destra).

Usare un'operazione RIGHT JOIN per creare un right outer join. I right outer join includono tutti i record della seconda (destra) di due tabelle, anche se non sono presenti valori corrispondenti per i record della prima tabella (sinistra).

Ad esempio, è possibile usare LEFT JOIN con le tabelle Reparti (sinistra) e Dipendenti (destra) per selezionare tutti i reparti, inclusi quelli senza dipendenti assegnati. Per selezionare tutti i dipendenti, inclusi quelli non assegnati a un reparto, è possibile usare RIGHT JOIN.

L'esempio seguente mostra come collegare le tabelle Categorie e Prodotti nel campo IDCategoria. La query restituisce un elenco di tutte le categorie, incluse quelle che non contengono prodotti:

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

In questo esempio il campo collegato è IDCategoria, ma non viene restituito nei risultati della query perché non è incluso nell'istruzione SELECT. Per includere il campo collegato, immettere il nome del campo nell'istruzione SELECT, in questo caso Categories.CategoryID.

Per creare una query che include solo i record in cui i dati dei campi collegati sono uguali, usare un'operazione INNER JOIN.

  • 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. Vedere la discussione sull'annidamento nell'argomento INNER JOIN per sapere come annidare i join all'interno di altri join.

  • È possibile collegare più clausole ON. Vedere la discussione sul collegamento delle clausole nell'argomento INNER JOIN per visualizzare questa procedura.

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



Serve aiuto?

Amplia le tue competenze

Esplora i corsi di formazione >

Ottieni in anticipo le nuove caratteristiche

Partecipa a Microsoft Insider >

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×