Réunir le résultat de plusieurs requêtes

SQL:réunir le résultat de plusieurs requêtes

MySQL supporte l’utilisation de l’opérateur ensembliste UNION qui permet de réunir le résultat de plusieurs requêtes.

UNION

Syntaxe

requête_SELECT  SELECT:UNION
UNION [ALL | DISTINCT] 
requête_SELECT 
[UNION ...] 
[ORDER BY tri] 

Les ordres SELECT doivent avoir le même nombre d’expressions et les expressions correspondantes doivent normalement avoir le même type (selon la documentation). Dans la pratique, si les expressions correspondantes ne sont pas du même type, il semble qu’elles sont converties en chaîne de caractères pour faire l’union.

Le titre des colonnes du résultat final est défini par la première requête.

Par défaut, toutes les lignes retournées sont distinctes ; le même résultat est obtenu en utilisant l’option DISTINCT. L’utilisation de l’option ALL permet de conserver toutes les lignes, même celles dupliquées.

Les ordres SELECT ne doivent pas contenir de clause ORDER BY ; ils peuvent par contre contenir des jointures, des sous-requêtes, ainsi que des clauses WHERE, GROUP BY, etc. Pour renforcer la lisibilité de la requête, les ordres SELECT peuvent être mis entre parenthèses.

Le résultat final de l’union peut être trié par une clause ORDER BY, avec la même syntaxe que...

couv_RI58PH8MY.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Utiliser les fonctions de fenêtrage
Suivant
Gérer les transactions et les accès concurrents