Doc SQL Server 2000 :
Référence de Transact-SQL
Opérateur UNION
Associe les résultats de plusieurs requêtes en un seul jeu de résultats constitué de toutes les lignes appartenant aux requêtes de l'union. Cette opération diffère de l'utilisation des jointures combinant les colonnes des deux tables.
Voici deux règles essentielles pour combiner les jeux de résultats de deux requêtes avec UNION :
Le nombre et l'ordre des colonnes doivent être identiques dans toutes les requêtes.
Les types de données doivent être compatibles.
Syntaxe
{ < query specification > | ( < query expression > ) }
UNION [ ALL ]
< query specification | ( < query expression > )
[ UNION [ ALL ] < query specification | ( < query expression > )
[ ...n ] ]
Arguments
< query_specification > | ( < query_expression > )
Spécification ou expression de requête qui renvoie les données à combiner avec les données d'une autre spécification ou expression de requête. Les définitions des colonnes faisant partie d'une opération UNION ne doivent pas forcément être identiques, mais doivent être compatibles à travers une conversion implicite.
Le tableau suivant montre les règles de comparaison des types de données et des options des (énièmes) colonnes correspondantes.
Type de données de la énième colonne Type de données de la énième colonne de la table de résultats
Incompatibilité du type de données (aucune prise en charge implicite par Microsoft® SQL Server de la conversion des données) Erreur renvoyée par SQL Server
Type char de longueurs fixes L1 et L2 Colonne de type char dont la longueur est égale à la plus grande des deux (L1 et L2)
Type binary de longueurs fixes L1 et L2 Colonne de type binary dont la longueur est égale à la plus grande de L1 et L2
L'une des colonnes ou les deux sont de type char et de longueur variable. Colonne de type char de longueur variable égale au maximum des longueurs spécifiées pour les énièmes colonnes
L'une des colonnes ou les deux sont de type binary et de longueur variable. Colonne de type binary de longueur variable égale au maximum des longueurs spécifiées pour les énièmes colonnes
Type numérique (par exemple, smallint, int, float, money). Type de données de la colonne offrant la plus grande précision des deux colonnes. Par exemple, si la énième colonne de la table A est de type int (entier) et la énième colonne de la table B est du type float, le type de données de la énième colonne de la table de résultats sera float, qui est plus précis que int.
Les descriptions des deux colonnes contiennent la valeur NOT NULL. Spécifie la valeur NOT NULL (valeurs NULL non autorisées)
UNION
Indique que les jeux de résultats multiples doivent être associés et renvoyés dans un seul jeu de résultats.
ALL
Incorpore toutes les lignes dans les résultats, y compris les doublons. Si ALL n'est pas spécifié, tous les doublons de lignes sont supprimés.
©1988-2000 Microsoft Corporation. Tous droits réservés.