SQLite UNION
运算符用于使用SELECT
语句组合两个或多个表的结果集。 UNION
操作符仅显示唯一的行(删除重复的行)。
在使用UNION
运算符时,每个SELECT
语句必须在结果集中具有相同数量的字段。
语法:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
假设有两个表:student
和department
。
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
操作符返回单个字段 -
SELECT ID FROM STUDENT UNION SELECT ID FROM DEPARTMENT;
执行上面代码,得到以下结果 -
示例2:
联合内部和外部连接,按照以下条件和UNION子句,将上述两个表:student
和department
作为内部联接和外部联接。
SELECT EMP_ID, NAME, DEPT FROM STUDENT JOIN DEPARTMENT ON STUDENT.ID = DEPARTMENT.EMP_ID UNION SELECT EMP_ID, NAME, DEPT FROM STUDENT LEFT OUTER JOIN DEPARTMENT ON STUDENT.ID = DEPARTMENT.EMP_ID;
执行上面代码,得到以下结果 -