一、涉及内容
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