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

Sintassi

FROM tabella1 [ LEFT | RIGHT ] JOIN tabella2ON 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?

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.