Vous êtes sur la page 1sur 15

BASES DE DONNEES AVANCEES

Lotfi NAJDI
Année Universitaire 2020 / 2021
Licence Professionnelle Génie Informatique
Faculté Polydisciplinaire de Taroudant
Opérateurs ensemblistes (SET)

Les opérateurs ensemblistes permettent de combiner les résultats de plusieurs


sous-interrogations de manière à générer un résultat unique.

UNION/UNION ALL

INTERSECT

MINUS
Règles relatives aux opérateurs ensemblistes

Critères de définition

• Le nombre de colonnes doit être identique

• Les types des colonnes doivent correspondre (de façon ordonnée)

• Une seule clause ORDER BY peut être écrite, en toute fin de la requête.
Le serveur Oracle et les opérateurs ensemblistes

• La clause UNION ne conserve pas les doublons. Pour les conserver, utilizer la clause

UNION ALL.

• Les en-têtes des colonnes correspondent aux alias définis pour la première

interrogation

• L’ordre de tri par défaut est croissant, sauf avec UNION ALL
Tables utilisées dans ce chapitre

• La table EMPLOYEES fournit des détails sur tous les employés en poste.

• La table JOB_HISTORY enregistre la date de début et la date de fin du poste

précédent, ainsi que l'ID de poste et le département lorsqu'un employé change de

poste.
Opérateur UNION

L'opérateur UNION renvoie les lignes issues des deux


interrogations (rouge et bleu) après élimination des doublons
(la zone violette représente les doublons possibles)
Utiliser l'opérateur UNION

Affichez les détails relatifs au poste actuel et au poste précédent de tous les employés.
Opérateur UNION ALL

L'opérateur UNION ALL renvoie les lignes issues des deux


interrogations (rouge et bleu) et conserve les doublons (la zone
violette représente les doublons possibles)
Utiliser l'opérateur UNION ALL

Affichez le département actuel et le département précédent de chaque employé.


Opérateur INTERSECT

L'opérateur INTERSECT renvoie les lignes communes


aux deux interrogations (zone rouge)
Utiliser l'opérateur INTERSECT

Affichez les ID d'employés et les postes des employés dont l'intitulé de poste actuel est

identique au précédent (Les employés ont changé de poste mais sont maintenant revenus à

leur poste précédent.)


Opérateur MINUS

L'opérateur MINUS renvoie toutes les lignes distinctes


sélectionnées par la première interrogation, mais non
présentes dans l'ensemble de résultats de la deuxième
interrogation (zone rouge)
Utiliser l'opérateur MINUS

Affichez l'ID des employés qui n'ont jamais changé de poste.


Synthèse

• UNION pour renvoyer toutes les lignes distinctes

• UNION ALL pour renvoyer toutes les lignes, y compris les doublons

• INTERSECT pour renvoyer toutes les lignes qui sont partagées par deux interrogations

• MINUS pour renvoyer toutes les lignes distinctes qui sont sélectionnées par la première interrogation,

mais pas par la deuxième

• ORDER BY uniquement à la toute fin de l'instruction

Vous aimerez peut-être aussi