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];

假设有两个表:studentdepartment

sqlite> .tables
department  student
sqlite>

student表中具有以下数据:

sqlite> select * from student;
1|Maxsu|27|Shengzhen|20000.0
2|Minsu|25|Beijing|15000.0
3|Avgsu|23|Shanghai|2000.0
4|Linsu|25|Guangzhou|65000.0
5|Sqlsu|26|Haikou|25000.0
6|Javasu|21|Shengzhen|18000.0
7|Linsu|27|Haikou|10000.0
8|Minsu|23|Guangzhou|5000.0
9|Maxsu|23|Shenzhen|9000.0
sqlite>

department表中具有以下数据:

sqlite> select * from department;
1|财务部|1
2|技术部|2
3|技术部|3
4|市场部|4
5|市场部|5
sqlite>

示例1:

使用union all操作符返回单个字段,这个简单示例只返回来自两个字段具有相同数据类型的多个SELECT语句中的一个字段。
下面来看看上面的两个表:studentdepartment,并在UNION ALL操作符从两个表中选择一个id

SELECT ID FROM STUDENT  
UNION ALL   
SELECT ID FROM DEPARTMENT;

执行上面代码,得到以下结果 –

《SQLite Union All操作符》

示例2:

UNION ALL内部和外部连接,按照以下条件和UNION ALL子句,将上述两个表:studentdepartment作为内部联接和外部联接。

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;

执行上面代码,得到以下结果 –

《SQLite Union All操作符》

        原文作者:SQLite教程
        原文地址: https://www.yiibai.com/sqlite/union_all.html
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注