Monsieur
J'ai lu l'article sur l'optimisation de requêtes SQL sur Oracle.
Au chapitre X : "Les index ne font pas tout" l'auteur propose la requête suivante :
Select TA.a,TA.b,TA.c from TA,TB where exists (select 1 from TB where TA.a=TB.a);
pourquoi fait-il un produit cartésien TA, TB dans le premier FROM ?
Est-ce une erreur ou est-ce voulu ?
L'interpréteur sql ne risque t'il pas de confondre les 2 TB ? ils portent le même nom !
Ne faudrait-il pas écrire la requête plutôt comme ceci :
Select TA.a,TA.b,TA.c from TA where exists (select 1 from TB where TA.a=TB.a);
Cordialement
patmaba
Partager