SQLite Union All操作符
SQLite Union All操作符用于将两个或多个SELECT语句的结果合并在一起,而不忽略重复的行。
在SQLite UNION ALL中,结果表中也包括重复的值。否则,与Union相同的规则适用。
语法:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION ALL
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
示例:
我们有两个表”STUDENT”和”DEPARTMENT”。
“STUDENT”表中包含以下数据:
“DEPARTMENT” 表格有以下数据:
示例1:返回单个字段
这个简单的示例从多个SELECT语句中仅返回一个字段,其中这两个字段具有相同的数据类型。
让我们使用上述两个表”STUDENT”和”DEPARTMENT”,从两个表中选择id,进行 UNION ALL 操作。
SELECT ID FROM STUDENT
UNION ALL
SELECT ID FROM DEPARTMENT;
输出:
示例2:使用内连接和外连接的UNION ALL
让我们使用上面的两个表”STUDENT”和”DEPARTMENT”按照以下条件进行内连接和外连接,并使用 UNION ALL 子句:
SELECT EMP_ID, NAME, DEPT FROM STUDENT INNER JOIN DEPARTMENT
ON STUDENT.ID = DEPARTMENT.EMP_ID
UNION ALL
SELECT EMP_ID, NAME, DEPT FROM STUDENT LEFT OUTER JOIN DEPARTMENT
ON STUDENT.ID = DEPARTMENT.EMP_ID;
输出: