La clause UNION et l'opérateur IN en SQL

WI
Wilan
2 min de lecture
UNION IN

Dans la gestion de bases de données avec SQL, il existe diverses fonctions qui facilitent la manipulation et l'extraction efficaces des données. Deux d'entre elles sont fréquemment utilisées par les développeurs et les analystes de données : la clause UNION et l'opérateur IN.

Voici un guide complet sur leurs fonctions, conditions d'utilisation et syntaxe.


Clause UNION

La clause UNION est une clause SQL utilisée pour combiner les résultats de deux ou plusieurs instructions SELECT.

Pour utiliser cette clause, vous ne pouvez pas simplement combiner des tables au hasard. Il existe des règles standard à respecter pour éviter des erreurs dans la requête :

  • Chaque instruction SELECT combinée doit avoir le même nombre de colonnes.
  • Les types de données des colonnes correspondantes doivent être identiques ou compatibles.
  • Chaque colonne dans l'instruction SELECT doit être dans le même ordre.

Par défaut, la clause UNION ne sélectionne et n'affiche que les valeurs distinctes. Cela signifie que le système filtre automatiquement les résultats pour éviter les doublons.

Syntaxe UNION

SELECT column_name(s) FROM table1

UNION

SELECT column_name(s) FROM table2;

Clause UNION ALL

Dans la famille UNION, il existe également une variante syntaxique appelée UNION ALL.

La principale différence entre les deux réside dans la façon dont le système gère les données en double. Alors que UNION supprime les doublons, UNION ALL autorise les doublons.

Cette clause affiche toutes les lignes résultant de chaque instruction SELECT combinée, qu'il y ait ou non des valeurs identiques.

Syntaxe UNION ALL

SELECT column_name(s) FROM table1

UNION ALL

SELECT column_name(s) FROM table2;

Remarque : L'utilisation de UNION ALL est généralement plus rapide que UNION standard car le système n'a pas besoin de perdre du temps supplémentaire à analyser et supprimer les lignes en double.


Opérateur IN

L'opérateur IN est un opérateur logique ajouté à la clause WHERE pour filtrer les données selon plusieurs valeurs possibles à la fois.

Cet opérateur est souvent considéré comme une méthode abrégée (shorthand) pour remplacer l'utilisation répétée de l'opérateur OR lors de la sélection sur plusieurs conditions.

L'utilisation de IN rend le code SQL beaucoup plus propre, concis et facile à lire.

Syntaxe de l'opérateur IN avec une liste de valeurs spécifiques

SELECT column_name(s) FROM table_name

WHERE column_name IN (value1, value2, ...);

Syntaxe de l'opérateur IN avec une sous-requête

En plus de définir les valeurs manuellement, vous pouvez également placer une autre instruction SELECT entre parenthèses pour générer une liste de valeurs dynamiquement.

SELECT column_name(s) FROM table_name

WHERE column_name IN (SELECT STATEMENT);
W

Écrit par

Wilan

Contributeur permanent de Bali Island Tekno qui partage activement des connaissances sur la technologie, la programmation et le monde du génie logiciel.

Retour à l'accueil Mis à jour le : 5 juin 2026