Condividi tramite


Rappresentazione di join in Progettazione query e Progettazione viste (Visual Database Tools)

Si applica a:SQL Server

Se due o più tabelle sono unite tramite join, in Progettazione query e Progettazione viste il join verrà rappresentato in forma grafica all'interno del riquadro Diagramma e mediante la sintassi SQL all'interno del riquadro SQL.

Riquadro Diagramma

Nel riquadro Diagramma verrà visualizzata una linea di join fra le colonne di dati coinvolte nel join. In Progettazione query e Progettazione viste verrà visualizzata una linea di join per ogni condizione di join. La seguente figura mostra, ad esempio, una linea di join fra due tabelle unite in join:

Join line shows relationship between two tables

Se le tabelle sono unite da più condizioni di join, verranno visualizzate più linee di join, come nel seguente esempio:

Tables joined using more than one join condition

Se le colonne di dati unite in join non vengono visualizzate, ad esempio perché il rettangolo che rappresenta la tabella o l'oggetto con struttura a tabella è ridotto a icona o il join utilizza un'espressione, in Progettazione query e Progettazione viste viene inserita la linea di join nella barra del titolo del rettangolo che rappresenta la tabella o l'oggetto con struttura a tabella.

La forma dell'icona al centro della linea di join indica come le tabelle o gli oggetti con struttura a tabella sono uniti in join. Se la clausola di join utilizza un operatore diverso da uguale (=), tale operatore verrà visualizzato nell'icona della linea di join. Nella seguente tabella sono elencate le icone visualizzate nella linea di join.

Icona della linea di join Descrizione
Inner join (creato con il segno di uguale).
Inner join basato sull'operatore "maggiore di".
Outer join in cui verranno incluse tutte le righe della tabella rappresentata a sinistra, anche se non hanno alcuna corrispondenza nella tabella correlata.
Outer join in cui verranno incluse tutte le righe della tabella rappresentata a destra, anche se non hanno alcuna corrispondenza nella tabella correlata.
Full outer join in cui verranno incluse tutte le righe di entrambe le tabelle, anche se non hanno alcuna corrispondenza nella tabella correlata.

I simboli alle estremità della linea di join indicano il tipo di join. Nella seguente tabella sono elencati i tipi di join e le icone visualizzate alle estremità della linea di join.

Icona alle estremità di una linea di join Tipo di join
Join uno-a-uno.
Join uno-a-molti.
In Progettazione query e Progettazione viste non è possibile determinare il tipo di join. Questa situazione si verifica perlopiù con join creati manualmente.

riquadro SQL

Un join può essere rappresentato in vari modi all'interno di un'istruzione SQL. La sintassi esatta dipende dal database utilizzato e dalla modalità di definizione del join.

Le opzioni della sintassi per il join di tabelle comprendono:

  • Qualificatore JOIN per la clausola FROM. Le parole chiave INNER e OUTER specificano il tipo di join. La sintassi è quella standard per ANSI 92 SQL.

    Se, ad esempio, si esegue il join delle tabelle publishers e pub_info in base alla colonna pub_id di ciascuna tabella, l'istruzione SQL risultante potrebbe essere simile alla seguente:

    SELECT *  
    FROM publishers INNER JOIN pub_info ON  
       publishers.pub_id = pub_info.pub_id  
    

    Se si crea un outer join, verranno utilizzate le parole LEFT OUTER o RIGHT OUTER al posto di INNER.

  • Clausola WHERE che confronta colonne di entrambe le tabelle. La clausola WHERE viene utilizzata quando il database non supporta la sintassi JOIN oppure in caso di immissione manuale. Se il join viene creato nella clausola WHERE, nella clausola FROM saranno indicati i nomi di entrambe le tabelle.

    Ad esempio, la seguente istruzione esegue il join delle tabelle publishers e pub_info .

    SELECT *  
    FROM publishers, pub_info  
    WHERE publishers.pub_id = pub_info.pub_id  
    

Vedi anche

Eseguire query con join (Visual Database Tools)
Finestra di dialogo Join (Visual Database Tools)