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 :
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.
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.
SELECT nom_famille, salaire FROM emp UNION SELECT salaire, nom_famille FROM augmentations