Réunir le résultat de plusieurs requêtes
SQL:réunir le résultat de plusieurs requêtesMySQL supporte l’utilisation de l’opérateur ensembliste UNION qui permet de réunir le résultat de plusieurs requêtes.
UNIONSyntaxe
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...