> Tech > Par où commencer avec les jointures SQL/400

Par où commencer avec les jointures SQL/400

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

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.

Par où commencer avec les jointures SQL/400

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

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis d'experts et témoignages clients et ainsi, retrouvez les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et collaboration, Impression et capture et Infrastructure.

Tech - Par iTPro.fr - Publié le 24 juin 2010