zoukankan      html  css  js  c++  java
  • 11 SQL语言——查询练习


    --查询最高工资和员工数
    --查询不同部门的最高工资
    --查询不同工作岗位的员工数
    --查询不同工作部门的不同工作岗位的人数
    --查询不同部门的不同工作岗位且人数大于1的信息
    --查询部门号大于10的不同部门的不同工作岗位的人数

    1.选择部门30中的所有员工.
    2.列出所有办事员(CLERK)的姓名,编号和部门编号.
    3.找出佣金高于薪金的员工.
    4.找出佣金高于薪金的60%的员工.
    5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料.
    6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.
    7.找出收取佣金的员工的不同工作.
    8.找出不收取佣金或收取的佣金低于100的员工.
    9.找出各月倒数第3天受雇的所有员工.
    10.找出早于12年前受雇的员工.
    11.以首字母大写的方式显示所有员工的姓名.
    12.显示正好为5个字符的员工的姓名.
    13.显示不带有"R"的员工的姓名.
    14.显示所有员工姓名的前三个字符.
    15.显示所有员工的姓名,用a替换所有"A"
    16.显示满10年服务年限的员工的姓名和受雇日期.
    17.显示员工的详细资料,按姓名排序.
    18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.
    19.显示所有员工的姓名、工作和薪金,按工作的降序排序,若工作相同则按薪金排序.
    20.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.
    21.显示在一个月为30天的情况所有员工的日薪金,忽略余数.
    22.找出在(任何年份的)2月受聘的所有员工。
    23.对于每个员工,显示其加入公司的天数.
    24.显示姓名字段的任何位置包含"A"的所有员工的姓名.
    25.以年月日的方式显示所有员工的服务年限.
    ---------------------------------------------------------------------------
    1.列出所有雇员的姓名及其直接上级的姓名
    2.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门;
    3.显示所有部门在"NEW YORK"(dept表 loc字段)的员工姓名
    4.显示员工"SMITH"的姓名,部门名称
    5.显示员工姓名,部门名称,工资,工资级别(salgrade表 grade字段),要求工资级别大于4级
    6.显示员工"KING"和"FORD"管理的员工姓名及其经理姓名
    7.显示员工名,参加工作时间,经理名,参加工作时间:参加工作时间比他的经理早
    8、求出部门名称中,带'S'字符的部门员工的工资总和 、部门人数
    9、列出所有员工的年工资,按年薪从低到高排序
    10、列出各种工作的最低工资以及从事此工作的雇员姓名
    11、列出所有部门的详细信息和部门人数
    12、列出所有员工的姓名、部门名称和工资
    13、查询员工信息: 员工的名字 老板的名字
    14、要求查询出每一个雇员的编号、姓名、工资、部门名称、工资在所在公司的工资等级
    15、按照职位分组,求出每个职位的最高工资、最低工资以及平均工资
    16、统计平均工资大于2000的部门的详细信息

    7-16答案:

    --7.显示员工名,参加工作时间,经理名,参加工作时间:参加工作时间比他的经理早
    select e1.ename "员工名",(sysdate-e1.hiredate) "参加工作时间",e2.ename "经理名",(sysdate-e2.hiredate) "参加工作时间"
    from emp e1
    join emp e2
    on e1.mgr=e2.empno
    where e2.hiredate>e1.hiredate;
    ----8、求出部门名称中,带'S'字符的部门员工的工资总和 、部门人数
    select d.deptno,sum(sal) "工资总和",count(*) "部门人数"
    from emp e 
    join dept d 
    on e.deptno=d.deptno 
    where dname like('%S%') group by d.deptno ;
    --9、列出所有员工的年工资,按年薪从低到高排序
    select ename, (sal+nvl(comm,0))*12 "年薪"
    from emp e
    order by "年薪";
    --10、列出各种工作的最低工资以及从事此工作的雇员姓名
    select job "工作",sal "最低工资",ename "姓名" 
    from emp 
    where sal in (select min(sal) from emp group by job)
    order by job;
    --11、列出所有部门的详细信息和部门人数
    select dname,d.deptno,loc,count(*) "部门人数" from dept d
    join emp e
    on d.deptno=e.deptno
    group by dname,d.deptno,loc;
    --12、列出所有员工的姓名、部门名称和工资
    select ename,dname,sal
    from emp
    join dept
    on emp.deptno = dept.deptno
    ;
    --13、查询员工信息: 员工的名字 老板的名字 
    select e1.ename "员工",e2.ename "上司"
    from emp e1
    join emp e2
    on e1.mgr=e2.empno
    ;
    --14、要求查询出每一个雇员的编号、姓名、工资、部门名称、工资在所在公司的工资等级 
    select empno,ename,sal,dname,grade from emp e
    join dept d
    on e.deptno = d.deptno
    join salgrade
    on sal>losal and sal <hisal
    order by empno;
    --15、按照职位分组,求出每个职位的最高工资、最低工资以及平均工资 
    select job,min(sal),max(sal),avg(sal)
    from emp
    group by job; 
    --16、统计平均工资大于2000的部门的详细信息
    select d.deptno,dname,loc,avg(sal) "平均工资" from dept d
    join emp e
    on d.deptno=e.deptno
    group by d.deptno,dname,loc
    having  avg(sal) >2000;
    

      


    --------------------------------------------------------------------------------------

  • 相关阅读:
    数据结构Java版之基数排序(四)
    数据结构Java版之递归与迭代算法(五)
    SpringBoot项目在新电脑上的配置运行,包括JDK+MAVEN+Git+SpringBoot配置等
    .NET 控制Windows文件和目录访问权限研究(FileSystemAccessRule)
    Navicat Premium 12.0.18安装与激活
    Spring Data JPA方法定义规范
    在c/c++中调用Java方法
    在Java中调用C/C++本地库
    XP环境下C# 调用Pocess.start()时提示文件找不到的错误解决办法
    C++ 获取当前正在执行的函数的相关信息
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12295247.html
Copyright © 2011-2022 走看看