熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle的sql語句練習題含答案(二)

2013-11-13 15:30:52  來源: Oracle 

  列出至少有一個雇員的所有部門

  select distinct dname from dept where deptno in (select distinct deptno from emp);

  列出薪金比SMITH多的所有雇員

  select enamesal from emp where sal>(select sal from emp where ename=upper(smith));

  列出所有雇員的姓名及其直接上級的姓名

  select eenamemename from emp eemp m where emgr=mempno(+);

  列出入職日期早於其直接上級的所有雇員

  select ename from emp e where hiredate<(select hiredate from emp where empno=emgr);

  列出部門名稱和這些部門的雇員同時列出那些沒有雇員的部門

  select dnameename from dept d left join emp e on ddeptno=edeptno;

  列出所有CLERK(辦事員)的姓名及其部門名稱

  select enamedname from emp e left join dept d on edeptno=ddeptno where job=upper(clerk);

  列出各種工作類別的最低薪金顯示最低薪金大於的記錄

  select jobmin(sal) from emp group by job having min(sal)>;

  列出從事SALES(銷售)工作的雇員的姓名假定不知道銷售部的部門編號

  select ename from emp where deptno = (select deptno from dept where dname=uppder(SALES))

  列出薪金高於公司平均水平的所有雇員

  select ename from emp where sal>(select avg(sal) from emp);

  列出與SCOTT從事相同工作的所有雇員

  select ename from emp where job=(select job from emp where ename=upper(scott));

  列出某些雇員的姓名和薪金條件是他們的薪金等於部門中任何一個雇員的薪金

  select enamesal from emp where sal in (select sal from emp where deptno=);

  列出某些雇員的姓名和薪金條件是他們的薪金高於部門中所有雇員的薪金

  select ename sal from emp where sal>(select max(sal) from emp where deptno=);

  列出每個部門的信息以及該部門中雇員的數量

  select ddeptnodnamecount(ename) from dept d left join emp e on (ddeptno=edeptno)

  group by ddeptnodname

  列出所有雇員的雇員名稱部門名稱和薪金

  Select eenameddnameesal from emp e left join dept d on (ddeptno=edeptno)

  列出從事同一種工作但屬於不同部門的雇員的不同組合

  Select tbaenametbbenametbajobtbbjobtbadeptnotbadeptno

  From emp tbaemp tbb

  Where tbajob=tbbjob and tbadeptno<>tbbdeptno

  列出分配有雇員數量的所有部門的詳細信息即使是分配有個雇員

  Select deptdeptnodnameloccount(empno)

  From deptemp

  Where deptdeptno=empdeptno(+)

  Group by deptdeptnodnameloc

  列出各種類別工作的最低工資

  Select min(sal) from emp group by job

  列出各個部門的MANAGER(經理)的最低薪金

  Select deptnomin(sal) from emp where job=upper(manager) group by deptno

  列出按年薪排序的所有雇員的年薪

  select (sal+nvl(comm))* as avn from emp order by avn

  列出薪金水平處於第四位的雇員

  Select * from (Select enamesal rank() over (order by sal desc) as grade from emp) where grade=


From:http://tw.wingwit.com/Article/program/Oracle/201311/16843.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.