更新时间:2024-07-01 GMT+08:00
集合操作
Union/Union ALL/Intersect/Except
语法格式
1
|
query UNION [ ALL ] | Intersect | Except query |
语法说明
- UNION返回多个查询结果的并集。
- Intersect返回多个查询结果的交集。
- Except返回多个查询结果的差集。
注意事项
- 集合运算是以一定条件将表首尾相接,所以其中每一个SELECT语句返回的列数必须相同,列的类型一定要相同,列名不一定要相同。
- UNION默认是去重的,UNION ALL是不去重的。
示例
输出Orders1和Orders2的并集,不包含重复记录。
1 2 |
insert into temp SELECT * FROM Orders1 UNION SELECT * FROM Orders2; |
IN
语法格式
1 2 3 |
SELECT [ ALL | DISTINCT ] { * | projectItem [, projectItem ]* } FROM tableExpression WHERE column_name IN (value (, value)* ) | query |
语法说明
IN操作符允许在where子句中规定多个值。若表达式在给定的表子查询中存在,则返回 true 。
注意事项
子查询表必须由单个列构成,且该列的数据类型需与表达式保持一致。
示例
输出Orders中NewProducts中product的user和amount信息。
1 2 3 4 5 |
insert into temp SELECT user, amount FROM Orders WHERE product IN ( SELECT product FROM NewProducts ); |
父主题: 数据操作语句DML