zoukankan      html  css  js  c++  java
  • Oracle数据库——SQL基本查询

    一、涉及内容

      1.掌握SELECT 语句的基本语法。

      2.掌握常用函数的使用。

    二、具体操作

    (一)使用Scott方案下的emp表和dept表,完成以下操作:

      1.查询部门编号是20的员工信息。

      2.查询工作为CLERK的员工号、员工名和部门号。

     

      3.查询奖金COMM高于工资SAL的员工信息。

     

      4.查询奖金高于工资20%的员工信息。

     

      5.查询部门编号是10并且工作为MANAGER的员工和部门编号是20并且工作是CLERK的员工信息。

     

      6.查询工作不是MANAGER和CLERK,并且工资大于或等于2000的员工信息。

      7.查询有奖金的员工信息。

      8.查询所有员工的人数和他们的平均工资。

     

      9.查询没有奖金或奖金低于100的员工信息。

     10.查询最近两年入职的员工信息。

     

     11.查询工龄大于或等于10年的员工信息。

     

     12.查询员工信息,要求以首字母大写的方式显示所有员工的姓名。

     

     13.查询员工名正好为6个字母的员工信息。

     14.查询员工名字中不包含字母S的员工。

     

     15.查询员工姓名的第二个字母为M的员工信息。

     

     16.查询所有员工姓名的前三个字符。

     

     17.查询所有员工的姓名,如果包含字母s,则用S替换。

     

     18.查询员工的姓名和入职日期,并按入职日期从先到后进行排序。

     

     19.显示所有员工的姓名、工作、工资,按工作降序排序,若工作相同则按工资升序排序。

     

     20.显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序。

     

     21.查询每个部门中的员工数量、平均工资和平均工作年限。

     

     22.查询各个部门的人数及平均工资。

     

     23.查询各个工作的最低工资,并输出最低工资低于3000的工作名称。

      

     24.查询各个部门中不同工种的最高工资。

     

     25.统计各个工种的员工人数与平均工资。

     

    (二)习题

    1.select语句

    select length(电子邮件)from雇员;

    将显示什么结果?(C)

    A.雇员表中最长的电子邮件地址

    B.雇员表中每个雇员的电子邮件地址

    C.雇员表中“电子邮件”列中的每个值的字符数

    D.“电子邮件”列中允许使用最多的字符数

    2.若雇员表包含以下列:姓氏varchar2(20)、名字varchar2(20)、聘用日期date、计算月份number(3),那么下列的select语句?

    Select聘用日期+计算月份from雇员;

    返回的值属于那种数据类型?(A)

    A. date    B. number    C. datetime      D. integer

    3.假设有雇员表结构同上,以下哪条sql语句会正确地显示部门90中所有的雇员的姓氏和聘用的周数?(A)

    A.select姓氏,(sysdate-聘用日期)/7as周from雇员where部门标识=90;

    B.select姓氏,(sysdate-聘用日期)/7display周from雇员where部门标识=90;

    C.select 姓氏,周数 from 雇员 where  部门标识=90;

    D.select姓氏,(sysdate-聘用日期)as周from雇员where部门标识=90;

    4.假设产品表中包括价格number(7,2)列,对于下面的语句?

    Select nvl(10/价格,‘0’)from产品;

    如果“价格”列中包含空值,将会出现什么情况?(A)

    A.该语句将失败,因为值不能被0除

    B. 将显示0值

    C.将显示10值

    D.该语句将失败,因为值不能被空值除

    5.如果需要从雇员表中查询部门10(销售部)中薪金不足25000美元的雇员信息,应执行以下哪个查询语句才能完成此任务? (C)

    A. select 姓氏,名字,薪金from雇员 where 薪金>25000and 部门标识=10;

    B. select 姓氏,名字,薪金from雇员 where 薪金=25000and 部门标识=10;

    C. select 姓氏,名字,薪金from雇员 where 薪金<25000and 部门标识=10;

    D. select 姓氏,名字,薪金from雇员 where 薪金<25000or 部门标识=10;

    6.评估以下select语句:

    Select min(聘用日期),部门标识from雇员group By部门标识;

    将显示哪个值?(A)

    A. 每个部门中最早的聘用日期

    B. 雇员表中最早的聘用日期

    C. 雇员表中最晚的聘用日期

    D. 包含空值的雇员表中的聘用日期

    7,以下哪个说法正确的解释了无法执行以下sql语句的原因? (B)

    Select部门标识“部门”,avg(薪金)“平均值” from 雇员group by部门;

    A. 无法对薪金求平均值,因为并不是所有的数值都能被平分

    B. 不能在group by 字句中使用列别名

    C. group by 子句中必须有要分组的内容

    D. 部门表中没有列出部门标识

    8.应使用以下哪个统计函数来显示雇员表中的最高薪金值?(C)

    A.avg B.count C.max D.min

    9.统计函数将针对()返回一个值,并在计算过程中()空值.(A)

    A.行集,忽略 B.每行,忽略  C.行集,包括  D.每行,包括

    10.可对数据类型为date的列使用以下哪个统计函数?(B)

    A.AVG B.MAX   C.STDDEV D.SUM 

  • 相关阅读:
    work 2
    chapter02
    7.23作业
    第五章
    三层交换机
    基于nginx结合openssl实现https
    chapter10--进程和计划任务管理
    Linux系统管理08--服务器RAID及配置实战
    chapter07-- LVM逻辑卷
    Linux系统管理07--文件系统与LVM
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5514064.html
Copyright © 2011-2022 走看看