SQL Jointure



SQL > Commandes SQL > Jointure 

Nous souhaitons maintenant analyser les jointures. Pour définir correctement des jointures sous SQL, il faudra se reporter à la plupart des éléments que nous avons exposés jusqu’à présent. Supposons que nous avons les deux tables suivantes :

Table Store_Information
 Store_Name   Sales   Txn_Date 
 Los Angeles  1500   05-Jan-1999 
 San Diego  250   07-Jan-1999 
 os Angeles  300   08-Jan-1999 
 Boston  700   08-Jan-1999 

Table Geography
 Region_Name   Store_Name 
 East   Boston 
 East   New York 
 West   Los Angeles 
 West   San Diego 

et nous souhaitons connaître les ventes par région. La table Geography comprend des informations sur des régions et magasins, et la table Store_Information contient des données relatives aux ventes de chaque magasin. Afin d’obtenir les informations sur les ventes par région, il faut combiner les informations des deux tables. En examinant les deux tables, nous constatons qu’elles sont mises en relation par le champ commun « Store_Name ». Nous allons d’abord décrire l’instruction SQL, puis expliquer l’utilisation de chaque segment :

SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.Store_Name = A2.Store_Name
GROUP BY A1.Region_Name;

Résultat:

REGION  SALES
East  700
West  2050

Les deux premières lignes permettent à SQL de sélectionner deux champs : le premier est le champ "Region_Name" de la table Geography (dont l’alias est REGION), et le second est la somme du champ "Sales" de la table Store_Information (dont l’alias est SALES). Notez comment les alias de tables sont utilisés ici : A1 est l’alias de Geography et A2 de Store_Information. Sans l’alias, la première ligne deviendrait :

SELECT Geography.Region_Name REGION, SUM(Store_Information.Sales) SALES

ce qui n’est pas très concis. Par essence, les alias de table sont destinés à faciliter la compréhension des instructions SQL, surtout en présence de plusieurs tables.

Nous passons maintenant à la ligne 3 (à l’instruction WHERE). C’est là où se spécifie la condition de la jointure. Dans ce cas, pour nous assurer que le contenu dans « store_name » de la table Geography corresponde à celui de la table Store_Information, il faut les définir comme valeur égale. L’instruction WHERE est essentielle pour obtenir une requête correcte. Sans l’instruction WHERE appropriée, nous obtiendrons une jointure cartésienne. Les jointures cartésiennes retournent toute combinaison possible des deux tables (ou tout nombre de tables indiqué dans l’instruction FROM). Une jointure cartésienne retournerait donc un résultat d’un total de 4 x 4 = 16 lignes.

SQL Jointure externe >>

Cette page a été mise à jour pour la dernière fois le 18/06/2022


Copyright © 2024   1keydata.com   Tous droits réservés