SQLite
 sql >> Base de données >  >> RDS >> SQLite

Opérateur SQLite UNION

Dans SQLite, l'UNION l'opérateur crée un composé SELECT instruction qui renvoie les résultats des SELECT gauche et droite déclarations. En d'autres termes, il combine les résultats de deux requêtes en un seul ensemble de résultats.

Exemple

Supposons que nous ayons les tables suivantes :

SELECT * FROM Teachers;
SELECT * FROM Students;

Résultat :

TeacherId  TeacherName
---------  -----------
1          Warren     
2          Ben        
3          Cathy      
4          Cathy      
5          Bill       
6          Bill       

StudentId  StudentName
---------  -----------
1          Faye       
2          Jet        
3          Spike      
4          Ein        
5          Warren     
6          Bill       

Nous pouvons utiliser le UNION opérateur pour renvoyer tous les enseignants et élèves :

SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;

Résultat :

TeacherName
-----------
Ben        
Bill       
Cathy      
Ein        
Faye       
Jet        
Spike      
Warren     

Par défaut, le UNION l'opérateur applique implicitement un DISTINCT opération. En d'autres termes, il ne renvoie que des valeurs distinctes par défaut. Ainsi, les résultats ci-dessus contiennent un seul chacun de Warren, Cathy et Bill. Ceci malgré le fait que les tables combinées contiennent en fait deux Warrens, deux Cathys et trois Bills (il y a deux enseignants appelés Cathy, un enseignant et un client appelé Warren, et deux appelés Bill, ainsi qu'un étudiant appelé Bill).

Inclure les doublons

Nous pouvons utiliser le ALL mot-clé pour inclure les valeurs en double dans les résultats :

SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;

Résultat :

TeacherName
-----------
Warren     
Ben        
Cathy      
Cathy      
Bill       
Bill       
Faye       
Jet        
Spike      
Ein        
Warren     
Bill       

Cette fois, nous avons eu douze lignes au lieu des huit que nous avions dans notre premier exemple.

Nous pouvons voir que les deux Cathys ont été retournées et que les trois Bills ont été retournés.