Oracle数据库——SQL基本查询

一、涉及内容

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

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

二、具体操作

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

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

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

Oracle数据库——SQL基本查询

(二)习题

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 

上一篇:esriSRGeoCS3Type Constants


下一篇:(转载)Linux定时任务cron配置