SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite UNION оператор

В SQLite, UNION оператор създава съставен SELECT оператор, който връща резултатите от левия и десния SELECT изявления. С други думи, той комбинира резултатите от две заявки в един набор от резултати.

Пример

Да предположим, че имаме следните таблици:

SELECT * FROM Teachers;
SELECT * FROM Students;

Резултат:

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       

Можем да използваме UNION оператор за връщане на всички учители и ученици:

SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;

Резултат:

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

По подразбиране UNION оператор имплицитно прилага DISTINCT операция. С други думи, той връща само различни стойности по подразбиране. Така че горните резултати съдържат само по един от Уорън, Кати и Бил. Това е въпреки факта, че комбинираните таблици всъщност съдържат двама Уорън, две Кати и три Била (има двама учители, наречени Кати, учител и клиент, наречен Уорън, и двама, наречени Бил, както и един ученик, наречен Бил).

Включване на дубликати

Можем да използваме ALL ключова дума, за да включите дублиращи се стойности в резултатите:

SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;

Резултат:

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

Този път получихме дванадесет реда вместо осемте, които получихме в първия ни пример.

Можем да видим, че и двете Кати бяха върнати и трите законопроекта бяха върнати.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Базата данни за стаи на Android няма да експортира всички данни

  2. Как работи SQLite Lower().

  3. Предупреждение по време на компилиране в Android Room за колона във външен ключ, която не е част от индекс. Какво означава?

  4. Как да получите ред в SQLite по индекс (не по идентификатор)

  5. Как да извлечем изображение от база данни на SQLite?