Inner join avec condition
Bonjour,
Voici une question théorique sql, quelque soit le sgbdr il me semble.
Je voulais savoir quelle est la différence entre ces 2 requêtes :
Code:
1 2 3 4
| Select a.*, b.*
from t1 a inner join t2 b
on (a.c1 = b.c1)
where a.c2 = 'xx'; |
et
Code:
1 2 3
| Select a.*, b.*
from t1 a inner join t2 b
on (a.c1 = b.c1 and a.c2 = 'xx'); |
Il me semble que la 2nde requête est plus performante parce que la restriction sur a.c2 se fait dès la jointure.
Mais il me semble aussi que les résultats de ces requêtes ne sont pas toujours les mêmes ?
Qu'en pensez-vous ?
Merci d'avance de vos éclaircissements.
Cordialement.