Oracle子查询
2018-09-05 本文已影响0人
weiyu_you
初识钟情,终于白首;眉眼如初,岁月如故
子查询
简单理解,在查询语句中,还有一个查询语句。子查询会在主查询之前先执行一次,将得到的结果当做是主查询的条件使用
(子查询也叫内部查询)。
查询比 ALLEN 工资高的人
(1)先获取 ALLEN 的工资
select sal from scott.emp where ename = 'ALLEN'; -- 2600
(2)查找比 ALLEN 工资高的员工
select * from scott.emp where sal > 2600;
使用子查询方式优化,一步搞定
select * from scott.emp where sal >
(select sal from scott.emp where ename = 'ALLEN');
子查询中常用的几种运算方式:in、any、all
- in:与列表中的任一值相等。就是一个 = 号
-
any:与子查询中返回的每一个值进行比较。
( > any 大于最小的; < any 小于最大的) -
all:与子查询中返回的所有值进行比较。
( > all 大于最大的; < all 小于最小的)