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.

Vedere anche

Riferimenti

Proprietà dei join

Altre risorse

Esecuzione di query mediante l'utilizzo di join

Progettazione di query e visualizzazioni