Opérateur UNION

L'opérateur UNION combine les résultats de deux instructions SELECT ou plus en un seul et même résultat. Ce résultat correspond à l'ensemble des enregistrements renvoyés par les instructions SELECT. Par défaut, le système ne renvoie pas les enregistrements en double. Si vous les voulez également, employez le mot-clé ALL (UNION ALL). La syntaxe de cette clause est la suivante :

Copier
instruction_SELECT UNION [ALL] instruction_SELECT

Avec l'opérateur UNION, les listes de sélection de chaque instruction SELECT doivent avoir le même nombre d'expressions de colonne, avec les mêmes types de données et le même ordre.

Exemple

Copier
SELECT nom_famille, salaire, date_embauche FROM emp UNION SELECT nom, paie, date_naissance FROM personne

L'exemple suivant n'est pas valide car les types de données des expressions de colonne sont différents (la rubrique SALAIRE de la table EMP n'emploie pas le même type de données que la rubrique NOM_FAMILLE de la table AUGMENTATIONS). Cet exemple utilise le même nombre d'expressions de colonne dans chaque instruction SELECT, mais ces expressions ne sont pas dans le même ordre par type de données.

Exemple

Copier
SELECT nom_famille, salaire FROM emp UNION SELECT salaire, nom_famille FROM augmentations