Bonjour.

Je voudrais juste savoir s'il existe une autre écriture de ma requête ou si celle que j'ai choisi est optimisée.

A la base, la logique est celle-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT t1.ID
  FROM table1 t1
 WHERE EXISTS (SELECT 1
                 FROM table2 t2
                WHERE t2.ID = t1.ID)
   AND NOT EXISTS (SELECT 1
                     FROM table3 t3
                    WHERE t3.ID = t1.ID)
Que j'ai modifié ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT t1.ID
  FROM table1 t1 INNER JOIN table2 t2 ON t2.ID = t1.ID
MINUS
SELECT t1.ID
  FROM table1 t1 INNER JOIN table3 t3 ON t3.ID = t1.ID
Voyez-vous une autre possibilité?
Merci.