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





livres de SQL



Pervasive SQL Server v9.0 for Windows
€ 49,00    






DB2 Universal Database et SQL (version 8.2 pour Win)
€ 22,99    






Oracle 10g SQL, PL/SQL, SQL*Plus
€ 22,99    





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