Bonjour.
Apres plusieurs années de développement ponctuel, j'ai décidé de mettre à jour mes connaissances en SQL.
J'ai découvert que la clause WHERE avait été remplacée par la clause JOIN pour séparer les jointures des critères.
Apres plusieurs lectures de tutoriels, j'ai compris le principe d'utilisation et sa syntaxe pour une jointure classique.
Mais comment effectuer plusieurs jointures sur plusieurs tables. Ci-dessous un exemple pour comprendre
Avec la clause WHERE
Avec la clause INNER
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT T1.Champ, T2.Champ, T3.Champ, T4.Champ FROM T1, T2, T3, T4 WHERE T1.FK = T2.PK AND T2.FK = T3.PK AND T3.FK = T4.PK AND Critères de selection
Il me faut lier les tables de T1 vers T4 pour récupérer les propriétés et les valeurs associées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT T1.Champ, T2.Champ, T3.Champ, T4.Champ FROM T1 INNER JOIN T2 ON T1.FK = T2.PK INNER JOIN T3 ON T2.FK = T3.PK INNER JOIN T4 ON T3.FK = T4.PK WHERE Critères de selection
Je pense pas que ma syntaxe soit correcte (du moins au niveau logique car apres ca reste juste de la sémantique )
J'ai beau rechercher mon cas je ne trouve rien qui m'explique au dela de la jointure simple entre 2 tables.
Pour vous faire une idée du résultat, la table T1 contient 700 lignes, je devrais en avoir au max 700 en sortie, or j'en ai + de 60K
A quoi cela est du ? Comment corriger ?
Merci pour votre aide.
Partager