SELECT liste_de_colonnes

 

FROM référence_de_table

 [INNER] JOIN référence_de_table

   ON prédicat

 [[INNER] JOIN référence_de_table

 

   ON prédicat...]

 

Description

 

Utilisez une jointure INNER JOIN pour joindre deux tables, une table source et une table de jointure, ayant des valeurs d'une ou plusieurs colonnes en commun. Une ou plusieurs colonnes de chaque table sont comparées dans la clause ON à la recherche de valeurs égales. Pour les lignes dans la table source ayant une correspondance dans la table de jointure, les données des lignes de la table source et les lignes correspondantes de la table de jointure sont incluses dans l'ensemble résultant. Les lignes de la table source sans correspondance dans la table de jointure sont exclues de l'ensemble résultant. Dans l'instruction ci-dessous, les tables CLIENT et COMMANDES sont jointes en fonction des valeurs dans la colonne NOCLI, présente dans les deux tables.

 

SELECT *

 

FROM client C

 INNER JOIN commandes O

 

   ON (C.nocli = O.nocli)

 

Plusieurs tables peuvent être jointes au moyen de INNER JOIN. Une utilisation de l'opérateur INNER JOIN et de la clause ON correspondante sont requises pour chaque ensemble des deux tables jointes. Un prédicat de comparaison de colonnes dans une clause ON est requis pour chaque colonne comparée pour joindre les tables deux à deux. L'instruction ci-dessous joint les tables CLIENT et COMMANDES, puis COMMANDES et ARTICLES. Dans ce cas, la table de jointure COMMANDES agit comme table source pour la table de jointure ARTICLES. L'instruction ci-dessous apparaît sans le mot-clé facultatif INNER.

 

SELECT *

 

FROM client C

 JOIN commandes O

   ON (C.nocli = O.nocli)

 JOIN articles I

 

   ON (O.nocommande = I.nocommande)

 

Les tables peuvent aussi être jointes au moyen d'une concaténation de valeurs de plusieurs colonnes pour générer une valeur unique pour le prédicat de comparaison de jointure. Ici, les colonnes ID1 et ID2 dans JOINING sont concaténées et comparées aux valeurs dans la colonne unique ID dans SOURCE.

 

SELECT *

 

FROM source S

 INNER JOIN joining J

 

   ON (S.ID = J.ID1 || J.ID2)

 

Une clause ORDER BY dans une instruction INNER JOIN peut utiliser des colonnes de n'importe quelle table spécifiée dans la clause FROM pour trier l'ensemble résultant.