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.