Oracle SQL多行子查询

多行子查询:

操作符含义
In等于列表中的任意一个
Any和子查询返回的某一个值比较
All和子查询返回的所有值比较

any:任一(和子查询的任意值比较)
例如:返回其它部门比JOB为’ST_MAN’部门任一工资低的
我们先把’ST_MAN’部门的工资先查出来,作为子查询
Select salary,job from emp where job=’ST_MAN’
在这里插入图片描述
之后再查主查询,再嵌套,查出来的值不等于自己
Select last_name,job_id,salary
From emp
Where salary < any(Select salary from emp where job=’ST_MAN’)
And job<>’ST_MAN’
在这里插入图片描述
All:所有的(比最高的还要高,或者比最低的还要低)
还是一样的例子,先把子查询查出来
Select salary,job from emp where job=’ST_MAN’
在这里插入图片描述

再查主查询,嵌套,值不等于自己
Select last_name,job_id,salary
From emp
Where salary > all(Select salary from emp where job=’ST_MAN’)
And job<>’ST_MAN’
在这里插入图片描述
In:任意一个(等于子查询的任意一个)
一样的例子,先查子查询
Select salary,job from emp where job=’ST_MAN’
在这里插入图片描述
再查主查询,嵌套,值不等于自己
Select last_name,job_id,salary
From emp
Where salary in(Select salary from emp where job=’ST_MAN’)
And job<>’ST_MAN’
在这里插入图片描述
Any与in的区别是
Any是和子查询的值比较,in是等于子查询的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值