Rappresentazione di join in Progettazione query e Progettazione viste (Visual Database Tools)
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:
Se le tabelle sono unite da più condizioni di join, verranno visualizzate più linee di join, come nel seguente esempio:
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:
Il 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 tabellepublishers
epub_info
in base alla colonnapub_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.
La 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 tabellepublishers
epub_info
.SELECT * FROM publishers, pub_info WHERE publishers.pub_id = pub_info.pub_id
Vedere anche
Altre risorse
Esecuzione di query con join (Visual Database Tools)
Finestra di dialogo Join (Visual Database Tools)