首页 > 代码库 > orcale 之 集合操作
orcale 之 集合操作
集合操作就是将两个或者多个 sql 查询的结果合并成复合查询。常见的集合操作有UNION(并运算)、UNION ALL、INTERSECT(交运算)和MINUS(差运算)。
UNION
UNION 运算可以将多个查询结果集相加,形成一个结果集, 其结果相当于集合运算的并运算. UNION 可以将第一个查询结果的所有行与第二个结果集的所有行进行相加,行切消除所有的重复行.语法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
例子: 查询名字以 S 或者 M 开始的员工所有信息
select * from emp where ename like ‘S%‘ UNION select * from emp where ename like ‘M%‘;
UNION ALL
UNION ALL 的作用和 UNION 的作用极为相似不同之处就是形成的结果集包含其重复的部分。
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
例子: 查询名字以 S 结尾或者 M 开始的员工所有信息
select * from emp where ename like ‘%R‘ UNION ALL select * from emp where ename like ‘M%‘;
INTERSECT
INTERSECT 也用于对两个集合进行操作,与之不同的是用于取交集预算。语法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] INTERSECT SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
例子: 查询名字以 R 结尾并且 M 开始的员工所有信息
select * from emp where ename like ‘%R‘ INTERSECT select * from emp where ename like ‘M%‘;
MINUS
MINUS 用于查询两个集合的差集,也就是说该运算用于返回所有从第一个查询中返回,但是没有在第二个查询中返回的记录。语法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] MINUS SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
例子:查询名字以 R 结尾但是不以 M 开始的员工所有信息
select * from emp where ename like ‘%R‘ MINUS select * from emp where ename like ‘M%‘;
orcale 之 集合操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。