oracle子查询

来源:互联网 发布:高考改革 知乎 编辑:程序博客网 时间:2024/06/07 04:59

子查询:

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

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

--要求查询工资比Smith还要高的全部雇员信息--第一步查询Smith的工资select sal from emp where ename='SMITH'--第二步查询工资比这个数字高的雇员的所有信息select *from empwhere 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 empWHERE job='MANAGER');-- >ANY:比子查询中返回记录最小的还要大的数据;SELECT * FROM emp WHERE sal>ANY (SELECT sal FROM empWHERE job='MANAGER');-- <ANY:比子查询中返回记录的最大的还要小;SELECT * FROM emp WHERE sal<ANY (SELECT sal FROM empWHERE job='MANAGER');
all操作符:与每一个内容匹配,有两种匹配形式
-- >ALL:比子查询中返回的最大的记录还要大SELECT * FROM emp WHERE sal>ALL (SELECT sal FROM empWHERE job='MANAGER');-- <ALL:比子查询中返回的最小的记录还要小SELECT * FROM emp WHERE sal<ALL (SELECT sal FROM empWHERE job='MANAGER');



原创粉丝点击