Tabelle dei join
Quando si combinano dati di più tabelle, occorre decidere quali tabelle utilizzare. A tale proposito è necessario tenere presente quanto segue:
Combinazione di tre o più tabelle Ogni operazione di JOIN combina due tabelle. È tuttavia possibile utilizzare più operazioni JOIN in un'unica query per assemblare dati di un numero qualsiasi di tabelle. Poiché il risultato di ogni operazione di JOIN è in realtà una tabella, è possibile utilizzare tale risultato come operando di una successiva operazione di JOIN. Per creare, ad esempio, un gruppo di risultati in cui ogni riga contiene il titolo di un libro, un autore e la percentuale dei diritti di autore spettante all'autore, è necessario combinare i dati di tre tabelle: authors, titles e titleauthor. Il codice SQL risultante potrebbe essere simile al seguente:
SELECT title, au_fname, au_lname, royaltyper FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id INNER JOIN titles ON titleauthor.title_id = titles.title_id
Utilizzo di una tabella solo per il join di altre tabelle È possibile includere una tabella in un join anche se non si desidera inserire alcuna colonna di tale tabella nel gruppo di risultati. Per generare, ad esempio, un gruppo di risultati in cui ogni riga descrive una coppia libro-punto vendita indicante un punto vendita che vende un dato libro, è necessario includere le colonne di due tabelle: titles e stores. Per determinare i libri che sono stati venduti dai vari punti vendita, tuttavia, è necessario utilizzare una terza tabella, ovvero sales. Il codice SQL risultante potrebbe essere simile al seguente:
SELECT title, stor_name FROM titles INNER JOIN sales ON titles.title_id = sales.title_id INNER JOIN stores ON sales.stor_id = stores.stor_id
Si noti che la tabella sales non inserisce alcuna colonna nel gruppo di risultati.
Duplice utilizzo di una tabella all'interno di una query È possibile utilizzare la stessa tabella due o più volte in una singola query. Per ulteriori informazioni, vedere Duplice utilizzo di una tabella all'interno di una query.
Utilizzo di un altro elemento al posto di una tabella Anziché una tabella è possibile utilizzare una query, una visualizzazione o una funzione definita dall'utente che restituisca una tabella. Per ulteriori informazioni, vedere Procedura: creare query mediante l'utilizzo di altre origini oltre a una tabella.
Per ulteriori informazioni sull'aggiunta di tabelle a una query, vedere Procedura: aggiungere tabelle alle query.