oracle子查询

子查询:

子查询=简单查询+限定查询+多表查询+统计查询的综合体

多表查询性能差,替代方案:子查询,所谓子查询指的就是在一个查询之中嵌套了其他的若干查询

--要求查询工资比Smith还要高的全部雇员信息
--第一步查询Smith的工资
select sal from emp where ename='SMITH'
--第二步查询工资比这个数字高的雇员的所有信息
select *from emp
where sal>(select sal from emp where ename='SMITH')
in操作符:用于指定一个子查询的判断范围
--查询工资和经理工资相同的所有人的信息
--第一步,查询所有经理的工资
select sal from emp where job='MANAGER'
--第二步查询工资和上边工资一样的人
select * from emp where sal in(select sal from emp where job='MANAGER')
any操作符:与每一个内容相匹配,有三种匹配形式

-- =ANY:功能与IN操作符是完全一样的;
SELECT * FROM emp WHERE sal=ANY (SELECT sal FROM emp
WHERE job='MANAGER');
-- >ANY:比子查询中返回记录最小的还要大的数据;
SELECT * FROM emp WHERE sal>ANY (SELECT sal FROM emp
WHERE job='MANAGER');
-- <ANY:比子查询中返回记录的最大的还要小;
SELECT * FROM emp WHERE sal<ANY (SELECT sal FROM emp
WHERE job='MANAGER');
all操作符:与每一个内容匹配,有两种匹配形式
-- >ALL:比子查询中返回的最大的记录还要大
SELECT * FROM emp WHERE sal>ALL (SELECT sal FROM emp
WHERE job='MANAGER');
-- <ALL:比子查询中返回的最小的记录还要小
SELECT * FROM emp WHERE sal<ALL (SELECT sal FROM emp
WHERE job='MANAGER');



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值