Lorsque vous manipulez des bases de données à l'aide de SQL, il peut être nécessaire de combiner les résultats de plusieurs instructions SELECT en une seule. SQL offre deux opérateurs principaux qui peuvent être utilisés pour cela : UNION
et UNION ALL
.
L'opérateur UNION
est utilisé pour combiner les résultats de deux ou plusieurs instructions SELECT en une seule. C'est comme une jointure horizontale des résultats. Cet opérateur supprime les lignes en double parmi les résultats.
Considérez deux tables, Table1
et Table2
, avec les mêmes colonnes Nom
et Age
. Vous voulez obtenir une liste de tous les noms. Vous pouvez utiliser UNION
comme ceci :
SELECT Nom FROM Table1
UNION
SELECT Nom FROM Table2;
Alors que UNION
supprime les doublons, l'opérateur UNION ALL
les conserve. Si vous souhaitez obtenir tous les enregistrements, y compris les doublons, vous pouvez utiliser UNION ALL
:
SELECT Nom FROM Table1
UNION ALL
SELECT Nom FROM Table2;
D'une part, UNION
peut être utile lorsque vous voulez éviter les doublons dans les résultats. D'autre part, UNION ALL
est pratique lorsque vous voulez conserver les doublons ou lorsque vous savez qu'il n'y a pas de doublons entre les résultats.
Autre différence, UNION
effectue une opération de tri pour supprimer les doublons, ce qui peut rendre l'opération plus lente. Si la performance est un facteur clé et que les doublons ne sont pas un problème, UNION ALL
peut être une meilleure option.
CONSEIL : Assurez-vous que les instructions SELECT que vous combinez avec UNION
ou UNION ALL
ont le même nombre de colonnes et que les types de données correspondants sont compatibles.
En résumé, pour combiner les résultats de plusieurs instructions SELECT en SQL, vous pouvez utiliser soit l'opérateur UNION
pour éviter les doublons, soit UNION ALL
pour conserver les doublons et obtenir une performance supérieure.