数据库第4章习题参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章习题解答

1.选择题

(1)在SELECT语句中,需显示的内容使用“*”,则表示()。B

A.选择任何属性B.选择所有属性

C.选择所有元组D.选择主键

(2)查询时要去掉重复的元组,则在SELECT语句中使用()。D

A.All B.UNION C.LIKE D.DISTINCT (3)在SELECT语句中使用GROUP BY NO时,NO必须()。C

A.在WHERE子句中出现B.在FROM子句出现

C.在SELECT子句中出现D.在HAVING子句中出现

(4)使用SELECT语句进行分组检索时,为了去掉不满足条件的分组,应当()。B

A.使用WHERE子句

B.在GROUP BY后面使用HAVING子句

C.先使用WHERE子句,再使用HA VING子句

D.先使用HA VING子句,再使用WHERE子句

(5)在SQL语句中,与表达式“仓库号Not In("wh1","wh2")”功能相同的表达式是()。D

A.仓库号="wh1" And 仓库号="wh2" B.仓库号<>"wh1" Or 仓库号<>"wh2"

C.仓库号<>"wh1" Or 仓库号="wh2" D.仓库号<>"wh1" And 仓库号<>"wh2"

第6~10题使用如下3个表:

部门:部门号Char (8),部门名Char (12),负责人Char (6),电话Char (16)

职工:部门号Char (8),职工号C har(10),姓名Char (8),性别Char (2),出生日期Datetime

工资:职工号Char (10),基本工资Numeric (8,2),津贴Numeric (8,2),奖金Numeric (8,2),扣除Numeric (8,2)

(6)查询职工实发工资的正确命令是()。C

A.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资

B.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资WHERE 职工.职工号=工资.职工号

C.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资,职工WHERE 职工.职工号=工资.职工号

D.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资FROM 工资JOIN 职工WHERE 职工.职工号=工资.职工号

(7)查询1972年10月27日出生的职工信息的正确命令是()。D

A.SELECT * FROM 职工WHERE 出生日期={1972-10-27}

B.SELECT * FROM 职工WHERE 出生日期=1972-10-27

C.SELECT * FROM 职工WHERE 出生日期=”1972-10-27”

D.SELECT * FROM 职工WHERE 出生日期='1972-10-27'

(8)查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期,正确的命令是()。A

A.SELECT 部门名,MIN(出生日期) FROM 部门JOIN 职工ON 部门.部门号=职工.部门号GROUP BY 部门名

B.SELECT 部门名,MAX(出生日期) FROM 部门JOIN 职工ON 部门.部门号=职工.部门号GROUP BY 部门名

C.SELECT 部门名,MIN(出生日期) FROM 部门JOIN 职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名

D.SELECT 部门名,MAX(出生日期) FROM 部门JOIN 职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名

(9)查询所有目前年龄在35岁以上(不含35岁)的职工信息(姓名、性别和年龄),正确的命令是()。C

A.SELECT 姓名,性别,YEAR(GETDA TE())-YEAR(出生日期) AS 年龄FROM 职工WHERE 年龄>35

B.SELECT 姓名,性别,YEAR(GETDATE())-YEAR(出生日期) AS年龄FROM 职工WHERE YEAR(出生日期)>35

C.SELECT 姓名,性别,YEAR(GETDATE())-YEAR(出生日期) AS年龄FROM 职工WHERE YEAR(GETDATE())-YEAR(出生日期)>35

D.SELECT 姓名,性别,年龄=YEAR(GETDATE())-YEAR(出生日期) FROM 职工WHERE YEAR(GETDA TE())-YEAR(出生日期)>35

(10)查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是()。D

A.SELECT 部门名,COUNT(职工号) AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HA VING COUNT(*)>=10 ORDER BY COUNT(职工号) ASC

B.SELECT 部门名,COUNT(职工号) AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HA VING COUNT(*)>=10 ORDER BY COUNT(职工号) DESC

C.SELECT 部门名,COUNT(职工号) AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HA VING COUNT(*)>=10 ORDER BY 职工人数ASC

D.SELECT 部门名,COUNT(职工号) AS 职工人数FROM 部门,职工WHERE 部门.部门号=职工.部门号GROUP BY 部门名HAVING COUNT(*)>=10 ORDER BY 职工人数DESC

2.填空题

(1)SQL的含义是。结构化查询语言

(2)SQL语句中条件短语的关键字是。WHERE

(3)在SELECT语句中,子句根据列的数据对查询结果进行排序。ORDER BY (4)联合查询指使用运算将多个合并到一起。UNION,查询结果(5)当一个子SELECT的结果作为查询的条件,即在一个SELECT语句的WHERE子句中出现另一个SELECT语句,这种查询称为查询。嵌套

(6)在SELECT语句中,定义一个区间范围的特殊运算符是________,检查一个属性值是否属于一组值中的特殊运算符是________。BETWEEN,IN

(7)已知“出生日期”求“年龄”的表达式是。YEAR(GETDATE())-YEAR(出生日期)

相关文档
最新文档