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
Table Geography
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:
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.
Copyright © 2024 1keydata.com Tous droits réservés |