Bonjour,

cette question est une question de base mais j'ai un doute quant à mes souvenirs et j'avoue ne rien avoir trouvé de probant sur le sujet lors de mes recherches de ce début d'après-midi.

Soit une requête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT T1.CHAMP1, T2.CHAMP2
FROM TABLE T1, TABLE T2
WHERE T1.ID1=T2.ID1
AND T1.CHAMP3 = 'tata'
AND T2.CHAMP4 = 'toto'
Quelque chose comme cela. Bien sur la requête pourrait être optimiser en utilisant un join entre les 2 tables.

J'ai un vague souvenir comme quoi l'ordre des tables dans la requête peut être important ainsi que l'ordre des restrictions dans la clause where.
Cela viendrait de la lecture de la requête par le moteur du SGBD.

Quelqu'un a-t-il des informations/explications/liens sur le sujet?
Où est-ce juste un délire de mon époque étudiante?


Un autre petit point
Est-il préférable de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
select C.IDFACTIVITE,
         C.NUM_CRITEREMA,
         C.LIB_CRITEREMA
from CRITERE_MA C JOIN RISQUE_CRITERE R ON R.NUM_CRITEREMA = C.NUM_CRITEREMA
where C.IDFACTIVITE = 1
and R.IDFACTIVITE = 1
and R.NUM_RISQUE = 'R01'
order by C.NUM_CRITEREMA;
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
select C.IDFACTIVITE,
         C.NUM_CRITEREMA,
         C.LIB_CRITEREMA
from CRITERE_MA C JOIN RISQUE_CRITERE R ON R.NUM_CRITEREMA = C.NUM_CRITEREMA AND R.IDFACTIVITE=C.IDFACTIVITE
where R.IDFACTIVITE = 1
and R.NUM_RISQUE = 'R01'
order by C.NUM_CRITEREMA;

Je continue de chercher néanmoins