SQL – INNER JOIN … ON = jointe … avec

Transcription

SQL – INNER JOIN … ON = jointe … avec
Le vivier informatique & services
25/05/2014
Formation
S Q L – INNER JOIN … ON ... = jointe … avec ...
Définition
INNER... JOIN... : relie 2 tables lors d’une requête.
ON : établi la correspondance entre au moins un champ de chaque table
reliée, généralement la clé primaire d’une table, présente comme clé
étrangère (ou externe) dans l’autre table.
Seuls les enregistrements dont la correspondance est exacte sont extraits <=> intersection entre les 2
ensembles.
Besoin (exprimé en français)
Ex : Sélectionner le Nom de l’entreprise, la ville et la catégorie des clients reliés à une catégorie.
Syntaxe (= besoin exprimé en SQL)
SELECT RaisonSociale, Ville, Categorie
FROM CLIENTS
INNER JOIN CATEGORIES
ON CLIENTS.CodeCategorie = CATEGORIES.CodeCategorie
Traduction
Sélectionner les champs RaisonSociale et Ville de la table CLIENTS et le champ Categorie de la table
CATEGORIES à partir de la table CLIENTS jointe à la table CATEGORIES en faisant correspondre le
champ CodeCategorie de la table CLIENTS avec le champ CodeCategorie de la table CATEGORIES
et ne garder que les enregistrements de la table CLIENTS pour lesquels la Categorie est renseignée.
Résultat
Note : les résultats sont basés sur l’hypothèse de travail présentée en fiche « 010_Cas_concret_1 »
& « 030_Cas_concret_2 »
Le résultat de cette commande affiche 4 enregistrements :
LVIS
30 bis avenue de Nantes
85150 Saint Mathurin
02 51 22 70 70
06 85 09 07 93
[email protected]
www.levivierinformatique.fr/seformer/
1/2
Le vivier informatique & services
25/05/2014
Formation
Important : seuls les enregistrements de la table CLIENTS associés à un enregistrement de la table
CATEGORIES s’affichent. Dans l’exemple, SP3I, sans catégorie, n’est pas listé.
Autre syntaxe équivalente
SELECT RaisonSociale, Ville, Categorie
FROM CLIENTS, CATEGORIES
WHERE CLIENTS.CodeCategorie = CATEGORIES.CodeCategorie
LVIS
30 bis avenue de Nantes
85150 Saint Mathurin
02 51 22 70 70
06 85 09 07 93
[email protected]
www.levivierinformatique.fr/seformer/
2/2