Oracle练手系列(一)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 17:08 点击:

1.列出至少有一个员工的所有部门。
第一种
select dname from dept
where exists (
      select * from emp where emp.deptno = dept.deptno
);
第二种
select dname from dept where deptno in(select deptno from emp);
 
第三种
select dname
  from dept
 where deptno in
       (select deptno from emp group by deptno having count(deptno) >= 1);
2.列出薪金比“SMITH”多的所有员工。
 
第一种
 SELECT * FROM EMP WHERE SAL > (
select SAL from emp where ename='SMITH');
第二种
select * from emp
where exists (
      select * from emp e2 where e2.sal < emp.sal and e2.ename = 'SMITH'
);
第三种
 SELECT * FROM EMP WHERE SAL >any (
select SAL from emp where ename='SMITH');
 --3.列出所有员工的姓名及其直接上级的姓名。
第一种
select emp.ename, boss.ename boss_name from emp
left join emp boss on boss.empno= emp.mgr;
第二种
select emp.ename, (select ename from emp boss where boss.empno = emp.mgr) as boss_name
  from emp;
--------4.列出受雇日期早于其直接上级的所有员工。----------
第一种
select a.ename from emp a where a.hiredate<(select hiredate from emp b where b.empno=a.mgr);
第二种
select emp.ename from emp
       left join emp boss on boss.empno = emp.mgr
       where emp.hiredate <boss.hiredate
第三种
select emp.ename from emp
where exists (
      select * from emp boss where boss.empno = emp.mgr and boss.hiredate > emp.hiredate
)


作者“简单”

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1