龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle SQL:经典查询练手第一篇(1)(3)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
--------6.列出所有CLERK(办事员)的姓名及其部门名称。---------- SQL select a.ename,b.dname from empa join deptb on a.deptno=b.deptno and a.job= 'CLERK' ; ENAMEDNAME --------------

  1. --------6.列出所有“CLERK”(办事员)的姓名及其部门名称。----------  
  2. SQL> select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno and a.job='CLERK';   
  3. ENAME      DNAME  
  4. ---------- --------------  
  5. SMITH      RESEARCH  
  6. ADAMS      RESEARCH  
  7. JAMES      SALES  
  8. MILLER     ACCOUNTING 
  1. --------7.列出最低薪金大于1500的各种工作。----------  
  2. SQL> select distinct job as HighSalJob from emp group by job having min(sal)>1500;   
  3. HIGHSALJOB  
  4. ----------  
  5. ANALYST  
  6. Developer  
  7. MANAGER  
  8. PM  
  9. PRESIDENT 
  1. --------8.列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。----------  
  2. SQL> select ename from emp where deptno=(select deptno from dept where dname='SALES');   
  3. ENAME  
  4. ----------  
  5. ALLEN  
  6. WARD  
  7. MARTIN  
  8. BLAKE  
  9. TURNER  
  10. JAMES   
  11. rows selected 
  1. --------9.列出薪金高于公司平均薪金的所有员工。----------  
  2. SQL> select ename from emp where sal>(select avg(sal) from emp);   
  3. ENAME  
  4. ----------  
  5. JONES  
  6. BLAKE  
  7. SCOTT  
  8. KING  
  9. FORD  
  10. EricHu  
  11. huyong  
  12. WANGJING   
  13. rows selected 
  1. --------10.列出与“SCOTT”从事相同工作的所有员工。--------  
  2. SQL> select ename from emp where job=(select job from emp where ename='SCOTT');  
  3.  ENAME  
  4. ----------  
  5. SCOTT  
  6. FORD 
  1. --------11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。---------  
  2. SQL> select a.ename,a.sal from emp a where a.sal in (select b.sal  
  3.   2  from emp b where b.deptno=30) and a.deptno<>30;   
  4. ENAME            SAL  
  5. ---------- --------- 
  1. --------12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。---------  
  2. SQL> select ename,sal from emp where sal>(select max(sal) from emp where deptno=30);   
  3. ENAME            SAL  
  4. ---------- ---------  
  5. JONES        2975.00  
  6. SCOTT        4000.00  
  7. KING         5000.00  
  8. FORD         3000.00  
  9. EricHu       5500.00  
  10. huyong       5500.00  
  11. WANGJING     5500.00   
  12. rows selected 
  1. --------13.列出在每个部门工作的员工数量、平均工资和平均服务期限。---------  
  2. SQL> select (select b.dname from dept b where a.deptno=b.deptno) as deptname ,count(deptno) as deptcount,avg(sal) as deptavgsal  
  3.   2  from emp a group by deptno;   
  4. DEPTNAME        DEPTCOUNT DEPTAVGSAL  
  5. -------------- ---------- ----------  
  6. ACCOUNTING              6 4208.33333  
  7. RESEARCH                5       2375  
  8. SALES                   6 1566.66666 

精彩图集

赞助商链接