Oracle查询语句简单回顾(三)

连续加了三天班,感觉进展不大(收获还是挺多的),思路有点不太清晰。还好实在修改之前的部分需求,要是开发新模块估计自己要发上半天呆��了。

  • 子查询
    求工资最高的员工名字及薪水值

select ename,sal from emp where sal in
(select max(sal) from emp)

求哪些人的工资在平均工资之上
select ename,sal from emp where sal >(select avg(sal) from emp)
找出每个部门挣钱最多的那个人

select e.ename,sal,e.deptno from emp e
join
(select max(sal) max_sal,deptno from emp group by deptno) t
on e.sal = t.max_sal

求每个部门的平均薪水等级
select t.avg_sal,t.deptno,grade from(select avg(sal) avg_sal,deptno from emp group by deptno) t join salgrade on (t.avg_sal between losal and hisal)

  • self_table_connection自连接
    求员工及其经理人的名字
    select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr = e2.empno

猜你喜欢

转载自blog.csdn.net/Mattscl/article/details/72718496