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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Select TA.a,TA.b,TA.c from TA where exists (select 1 from TB where TA.a=TB.a);
Cordialement

patmaba