Le coding de base des jointures SQL est simple ; voici comment procéder
Une opération de jointure sur la base de données combine des lignes (c'est-à -dire
des enregistrements) provenant de deux ou plus tables (c'est-à -dire des fichiers)
pour produire une table résultat utilisable ensuite pour d'autres opérations.
DB2 Universal Database for AS/400 (UDB/400) permet les opérations jointes par
l'intermédiaire de plusieurs mécanismes :
fichiers logiques joints définis en DDS
les paramètres FILE et FLD de la commande OPNQRYF (Open Query File)
les clauses FROM et WHERE d'une sous-selection SQL
Parmi toutes ces possibilités, c'est SQL qui offre le plus de souplesse et la
syntaxe la plus simple. Et, comme SQL est aussi une interface base de données
stratégique d'IBM pour UDB/400, il est d'autant plus intéressant de savoir coder
une jointure SQL. Comme cet article le démontre, il est facile de démarrer avec
des jointures.
Examinons l’exemple de jointure classique par excellence : il s’agit de combiner
chaque ligne d’une table ventes à la ligne client associée. La figure 1 illustre
la table Customer (Clients) et la figure 2 la table Sale (Ventes). Pour joindre
des lignes associées de ces tables, on utilise une instruction SQL semblable à
la suivante :
Select OrderID, Customer.CustID,
Name
From Customer Join
Sale
On Customer.CustID
= Sale.CustID
Le prédicat qui suit le mot-clé On (Customer.CustID = Sale.CustID) est
appelé condition de jointure.
Dans cet exemple, j’ai utilisé un subselect (sous-sélection) très simple
(la partie d’une instruction SQL qui commence par le mot-clé Select et comprend
une clause From pour définir la ou les tables ou la ou les vues qui fourniront
les lignes du jeu de résultats). Dans mon exemple, la clause From utilise l’opération
SQL Join pour produire la table résultat illustrée figure 3. Ce n’est pas plus
compliqué !
C’est SQL qui offre le plus de souplesse et la syntaxe la plus simple
Avant d’aborder la syntaxe des jointures, j’aimerais mentionner rapidement où
l’on peut utiliser un subselect et, par conséquent, où les jointures sont autorisées.
Tout d’abord, on peut entrer une instruction Select en utilisant le produit SQL
interactif d’IBM, ou tout autre outil ad hoc supportant SQL. Les résultats d’une
instruction Select sont, en principe, affichés, imprimés ou copiés dans une autre
table. L’instruction Select permet même de combiner plusieurs subselects en utilisant
des opérations Union et d’ordonner les résultats à l’aide d’une clause Order By.
Je n’explique pas ici l’instruction Select car ce n’est pas essentiel pour comprendre
les jointures SQL. Pour avoir des informations complémentaires, on pourra consulter
les ressources listées dans l’encadré “ Pour en savoir plus ”.
On peut aussi utiliser une instruction Select (et donc un subselect) quand on
définit un curseur SQL dans un programme HLL. Un curseur, que l’on peut
utiliser avec du SQL imbriqué ou en SPL (Stored Procedure Language) SQL, permet
d’atteindre (et, éventuellement, de mettre à jour et de supprimer) certaines lignes
une à une. L’important à retenir pour l’instant est qu’un curseur défini avec
une jointure est toujours en lecture seule.
On peut aussi définir une vue en lecture seule au moyen d’un subselect. Un subselect
peut aussi apparaître dans les endroits suivants :
dans une instruction Insert qui copie des valeurs d’une ou plusieurs tables
et les ajoute à une autre table
dans la clause Set d’une instruction Update pour attribuer une nouvelle
valeur à une colonne
dans le cadre d’une condition de recherche avec la clause Where de l’une
quelconque des instruction de manipulation de données
Téléchargez cette ressource
Construire une infrastructure cloud optimisée pour l’IA avec Microsoft Azure
Les managers IT ont besoin d’une stratégie claire et de solutions concrètes pour préparer leur infrastructure cloud à l'adoption de l'IA, tout en optimisant les coûts, renforçant la sécurité et développant les compétences internes. Découvrez tous les conseils dans ce guide Insight.
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.