Bonjour,
J'essaye d'optimiser mes requetes et une question se pose.
Quand on a plusieurs elements de différentes tables à rechercher. Quelle table doit-on mettre dans le FROM ?
Merci :=)
Bonjour,
J'essaye d'optimiser mes requetes et une question se pose.
Quand on a plusieurs elements de différentes tables à rechercher. Quelle table doit-on mettre dans le FROM ?
Merci :=)
Bonjour,
Peu importe la table citée en première.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT Table1.Nom, Table2.Nom FROM Table1 JOIN Table2 ON Table1.id = Table2.id;
Sauf en cas de jointure externe![]()
Salut !
Tout à fait d'accord avec les deux réponses.
Petite précision :
Le choix de l'ordre de jointure est effectué par l'optimiseur de ton SGBD.
Il évalue le coût des différentes possibilités, puis retient celle qui coûte le moins cher.
D'un point de vue logique, tu peux en simplifiant abusivement (en fait, c'est juste l'un des crières d'évaluation) te dire qu'en mettant à gauche la table qui renverra le moins de ligne, ça peut être mieux (dans le cas où tu as un index sur la clef de jointure).
Enfin, selon le SGBD, tu peux forcer l'ordre de jointure. Sous oracle, le hint serait par exemple /*+ ORDERED a b */
Partager