oracle学习篇六:子查询

Posted 陈小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle学习篇六:子查询相关的知识,希望对你有一定的参考价值。

-- 1.查询比7654工资要高的员工

select * from emp where sal>(select sal from emp where empno=7654);

---2.查询最低工资的员工信息
select * from emp where sal=(select min(sal) from emp);

------------查询出,部门名称,部门员工数,部门平均工资,部门最低收入的人员姓名,和最高收入的人员
select d.dname,t1.c,t1.avgSal,t1.maxsal,t1.minsal from dept d,(select deptno,count(empno) c,avg(sal) avgSal,max(sal) maxsal,min(sal) minsal from emp group by deptno) t1
where d.deptno=t1.deptno


----ANY函数使用,=any 与in 相同
select * from emp where sal in(select min(sal) from emp group by deptno);

-- > any 比最小的值要大
select * from emp where sal>any(select min(sal) from emp group by deptno);

-- < any 比最大的值要小。
select * from emp where sal < any(select min(sal) from emp group by deptno);

select * from emp where sal < any(select min(sal) from emp group by deptno);

---< all 比最小的还小
select * from emp where sal > ALL(select max(sal) from emp group by deptno);

---> all 比最大的还大
select * from emp where sal < ALL(select max(sal) from emp group by deptno);

以上是关于oracle学习篇六:子查询的主要内容,如果未能解决你的问题,请参考以下文章

Oracle曾经的Oracle学习笔记(4-7)多表联合查询,子查询,动态条件查询

Oracle学习笔记

Oracle 学习笔记 14 -- 集合操作和高级子查询

Oracle 数据库基础学习 子查询

从零开始学习Oracle数据库函数与子查询和连接查询

从零开始学习Oracle数据库函数与子查询和连接查询