Un SELECT d'un SELECT contenant un ORDER BY peut-il changer le tri initial ?
Bonjour à tous,
Je suis sous Oracle 10g. Je souhaiterais savoir si un SELECT fait sur un SELECT contenant une clause ORDER BY peut changer le tri initial.
Plus concrètement, voici ce que j'essaie de faire :
Ex. :
Code:
1 2 3 4 5 6 7 8 9 10
|
SELECT code, libelle FROM (
SELECT DISTINCT * FROM (
SELECT code, libelle, 1 AS tri FROM matable1
UNION
SELECT code, libelle, 2 AS tri FROM matable2
UNION
SELECT code, libelle, 2 AS tri FROM matable3
) ORDER BY code, tri
); |
Je fais plusieurs SELECT en UNION avec un champ TRI que j'initialise dans chaque requête. Les 2 dernières requêtes peuvent retourner le même enregistrement, auquel cas, je ne souhaite en conserver qu'un, d'où le TRI ayant la même valeur (= 2) dans ce cas.
Ma question est donc : le SELECT qui interroge le SELECT DISTINCT trié va-t-il me retourner un résultat sans changer le tri du SELECT DISTINCT ou bien au contraire cela peut-il se produire ?
Merci d'avance pour votre aide.
Bonne journée.