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 

 

posted on 2016-05-21 09:28  CuriousZero  阅读(38503)  评论(0编辑  收藏  举报

导航