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
Los 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 >>



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


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Fonctions
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL Jointure
SQL Jointure Externe
SQL Concaténer
SQL SUBSTRING
SQL TRIM






Plan du site