T-SQL: les opérations sur les ensembles
T-SQL offre la
possibilité d’appliquer des opérations sur les ensembles de données.
Il existe 3 opérations :
1. UNION
L’union
permet de rassembler toutes les lignes de plusieurs requêtes ou sous-requêtes.
Exp. Select * from Table1
UNION
Select
* from Table2
Dans ce
cas on obtient un résultat contenant toutes les lignes de données de table1 et
2.
L’opérateur,
UNION récupère les lignes de données distinctes des deux tables. En d’autres
termes il applique un DISTINCT implicite.
Si on
veut récupérer toutes lignes même avec les duplications, on peut utiliser UNION
ALL.
Dans ce cas:
Select
DISTINCT * from Table1
UNION
Select
DISTINCT * from Table2
Et
Select
* from Table1
UNION
ALL
Select
* from Table2
Donnent
le même résultat.
2. Intersection
Il s’agit
de retourner que les lignes partagées entre deux ensembles ou plus.
Select
* from Table1
INTERSECT
Select
* from Table2
Dans
cet exemple, on récupère les lignes qui se trouvent dans la table 1 et 2 au même
temps.
3. Except
Il permet
d’appliquer une différence entre deux ensembles de données. Il récupère des
lignes distinctes qui se trouvent dans l’ensemble 1 et pas dans le 2ème.
Exp.
Select
* from Table1
EXCEPT
Select
* from Table2
Donc,
il récupère toutes lignes qui se trouvent dans Table1 et non pas dans la Table2.
L’EXCEPT
applique un DISTINCT implicite sur les données.
Evaluation des opérations.
Dans une
requête contenant les 3 trois opérateurs, l’évaluation sera faite comme suit.
1. INTERSECT
2.
UNION & EXCEPT
Comments
Post a Comment
Put your comments here, please.
Share with us you vision...