Initiation à SQL

Sélection de données dans plusieurs tables

L'instruction SELECT peut servir à produire des états sur plusieurs tables. Cette opération est couramment appelée jointure. Par exemple, une jointure des tables STAFF et ORG permet d'obtenir une nouvelle table. Pour joindre deux tables, précisez, dans la clause SELECT, les colonnes à afficher, dans la clause FROM, les noms des tables et dans la clause WHERE, la condition de recherche. La clause WHERE est facultative.

Dans l'exemple suivant, le résultat doit associer les noms de tous les directeurs à leur service. Les informations viennent de deux tables, les données sur les employés (table STAFF) et sur les services (table ORG) étant conservées séparément. La requête suivante sélectionne la colonne NAME dans la table STAFF et la colonne DEPTNAME dans la table ORG. La condition de recherche limite la sélection aux lignes contenant, dans la colonne MANAGER, la même valeur que la colonne ID :

     SELECT DEPTNAME, NAME
        FROM ORG, STAFF
        WHERE MANAGER = ID

La Figure 3 montre comment sont comparées des colonnes de deux tables différentes. Les valeurs encadrées indiquent qu'il y a correspondance et que, par conséquent, la condition de recherche est remplie.

Figure 3. Sélection dans les tables STAFF et ORG


REQTEXT

L'instruction SELECT donne le résultat suivant :

     DEPTNAME       NAME      
     -------------- --------- 
     Mid Atlantic   Sanders   
     South Atlantic Marenghi  
     New England    Hanes     
     Great Lakes    Plotz     
     Plains         Fraye
     Head Office    Molinare  
     Pacific        Lea       
     Mountain       Quill     

Le résultat établit la liste des directeurs et de leur service.


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]