ORACLE的一些查询

一、需要查询的数据

1 、查询出月薪大于 'SMITH' 的所有员工资料

    select *from emp where sal>(select sal from emp where name="SMITH");

2 、查询所有员工的姓名及领导姓名

    select e1.ename,e2.ename from emp e1,emp e2 where e1.mgr=e2.empno(+);

3 、查询出入职日期早于领导的所有员工编号,姓名,部门名称。

    先查出员工姓名,领导姓名,入职时期 .

    在题目 2 的基础上,多增加一个入职日期条件,增加 deptno 表,增加去除笛卡尔积的关联条件

select e1.empno,e1.ename,e2.ename,d.dname from emp e1,emp e2,dept d where e1.mgr=e2.empno(+) and e1.hiredate<e2.hiredate and e1.deptno=d.deptno;

4 、查出部门名称和部门员工信息 ( 没有员工的部门也需要体现 )

select d.dname,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm,e.deptno

from dept d,emp e

where d.deptno=e.deptno(+);

5 、查出职位是“ CLERK ”的姓名及其部门名和部门人数

select e.ename,d.dname,t.c

    from emp e,dept d,(select deptno,count(empno) c from emp where job='CLERK'

    group by deptno) t

    where e.job='CLERK' AND e.deptno=d.deptno and e.deptno=t.deptno;

6 、查出最低工资大于 1500 的各种工作及其从事这些工作的全部员工人数。

已知条件: min(sal)>1500

 

6.1 、查处每个部门中最低工资的员工信息。

select deptno,min(sal)  from emp group by deptno;

6.2 、查出职位工资的最低工资大于 1500 的所有工作和工资。

Select job,min(sal) from emp group by job having min(sal)>1500

6.3 、查询出所有职位,以及从事这个职位的人数。

Select job,count(empno) from emp group by job;

6.4 合并出最后结果:

Select job,min(sal),count(empno) from emp group by job having min(sal)>1500

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值