Colonne dei join

L'operatore JOIN crea corrispondenze tra le righe confrontando i valori di una tabella con quelli di un'altra tabella. È necessario specificare le colonne di ciascuna tabella da confrontare scegliendo tra le seguenti opzioni:

  • Colonne correlate   In genere si esegue il join di tabelle individuando le corrispondenze tra i valori di colonne per le quali esiste una relazione di chiave esterna. È possibile, ad esempio, eseguire il join degli sconti con i punti vendita individuando i valori corrispondenti di stor_id nelle rispettive tabelle. Il codice SQL risultante potrebbe essere simile al seguente:

    SELECT *
    FROM discounts INNER JOIN stores 
         ON stores.stor_id = discounts.stor_id
    

    Per ulteriori informazioni sul join di tabelle in base a colonne correlate, vedere Join automatico di tabelle.

  • Colonne non correlate   È inoltre possibile eseguire il join di tabelle individuando le corrispondenze tra i valori di colonne per le quali non esiste una relazione di chiave esterna. È possibile, ad esempio, eseguire il join degli editori con gli autori individuando i valori dello stato corrispondenti nelle rispettive tabelle. Un join di questo tipo genera un gruppo di risultati in cui ogni riga descrive una coppia autore-editore con lo stesso stato.

    SELECT au_lname, 
           au_fname, 
           pub_name, 
           authors.state
    FROM   authors INNER JOIN publishers 
                   ON authors.state 
                    = publishers.state
    

    Per ulteriori informazioni sul join di tabelle in base a colonne non correlate, vedere Join manuale di tabelle.

Si noti inoltre che per individuare le corrispondenze tra le righe delle tabelle unite in join si utilizzano più colonne. Per trovare, ad esempio, le coppie autore-editore in cui l'autore e l'editore risiedono nella stessa città, si utilizza un'operazione di join che individua le corrispondenze tra le rispettive colonne dello stato e le rispettive colonne della città delle due tabelle. È necessario prendere in considerazione sia la città che la stato poiché è possibile che in stati diversi siano presenti città con lo stesso nome (ad esempio Alessandria in Italia e Alessandria in Egitto).

Per ulteriori informazioni sul join di tabelle in base a più colonne, vedere Join di tabelle su più colonne.

Vedere anche

Riferimenti

Proprietà dei join

Altre risorse

Progettazione di query e visualizzazioni