当前位置:首页 > 4结构化查询语言SQL习题与答案
第四章 结构化查询语言SQL
一、选择题
1. 在SQL包含的功能中,最重要的功能是_______。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制
2. 使用SQL语言有两种方式,它们是_______。
A) 菜单式和交互式 B) 嵌入式和程序式 C) 交互式和嵌入式 D) 命令式和解释式
3. SQL的全部功能可以用9个动词概括,其中动词INSERT是属于下列______功能。
A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制
4. SQL语言支持数据库的三级模式结构,其中模式对应于______。
A) 存储文件 B) 视图 C) 基本表 D) 视图和基本表 5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。
A) 0 B) 空格 C) NULL D) 不确定 6. 在SQL的ALTER语句中,用于删除字段的子句是______。
A) ALTER B) DELETE C) DROP D) MODIFY 7. SQL中的INSERT语句可以用于______。
A) 插入一条记录 B) 插入一个字段 C) 插入一个索引 D) 插入一个表 8. 下列描述错误的是______。
A) 用INSERT-SQL语句可以插入一条记录 B) 用INSERT-SQL语句可以插入多条记录
C) 使用INSERT-SQL语句可以插入记录的部分数据
D)使用INSERT-SQL语句插入记录时列名的排列顺序必须与表定义时的顺
序一致
9. INSERT-SQL语句中所使用的数据不能来自于______。 A) 数组 B) 变量 C) 查询 D) 索引 10. SQL中的UPDATE语句可以用于______。
A) 更新数据表的结构 B) 更新数据表的值 C) 更新索引 D) 更新查询 11. 下列描述错误的是______。
A) SQL中的UPDATE语句可以修改一条记录 B) SQL中的UPDATE语句可以修改多条记录
C)SQL中的UPDATE语句可以用子查询提供要修改的值 D)SQL中的UPDATE语句可以修改子查询的结果 12. SQL中的DELETE语句可以用于______。
A) 删除数据表的结构 B) 删除数据表
C) 删除数据表的记录 D) 删除数据表的字段
13. 在SELECT语句中,为了在查询结果中消去重复记录,应使用________项。
A) PERCENT B) DISTINCT C) TOP N D) WITH TIES
14. 为了在查询结果中只包含两个表中符合条件的记录,应使用________联接类型。
A) INNER B) LEFT C) RIGHT D) FULL 15. 在SELECT-SQL语句中,要将查询结果保存在文本文件中的选项是________。
A) INTO〈新表名〉 B) TO FILE 〈文件名〉 C) TO PRINTER D) TO SCREEN
16. 在SQL查询时,使用WHERE 子句提出的是________。
A) 查询目标 B) 查询结果 C) 查询条件 D) 查询分组 17. 在SELECT语句中,如果要对输出的记录进行排序,应选使用________项。
A) ORDER B) GROUP C) HAVING D) TOP 18. 在SELECT语句中,________子句后可能带有HAVING短语。 A) ORDER B) GROUP C) WHERE D) SELECT 19. 在SELECT-SQL语言中,________子句相当于关系中的投影运算。 A) WHERE B) JOIN C) FROM D) SELECT 20. 如果要选择分数在70和80之间的记录,________是正确的。 A) 分数>=70 AND <=80 B) 分数BETWEEN 70 AND 80 C) 分数>=70 OR 分数<=80 D) 分数IN (70,80)
21. 如果学生表中有”所在系”字段,要统计全校有多少个系,可用命令子句________。
A) SELECT SUM(所在系) B) SELECT SUM(DISTINCT 所在系) C) SELECT COUNT(所在系) D) SELECT COUNT(DISTINCT 所在系)
22. 下列语句错误的是________。 A) SELECT * FROM 学生表
B) SELECT 学号 AS 学生编号 FROM 学生表 C) SELECT ALL FIELDS FROM 学生表 D) SELECT DISTINCT 学号 FROM 选课表
23. 查询除教授和副教授以外的教师姓名,其WHERE子句为________。 A)WHERE 职称 NOT BETWEEN “教授” AND “副教授” B)WHERE 职称!=“教授” AND “副教授”
C)WHERE 职称 NOT LIKE (“教授”,”副教授”) D)WHERE 职称NOT IN (“教授”,”副教授”)
24. 在选课表中,找出成绩不为空的记录,应使用下列语句________。 A)SELECT *FROM 选课表 WHERE 成绩 IS “ “ B)SELECT *FROM 选课表 WHERE 成绩=0
C)SELECT *FROM 选课表 WHERE 成绩<>NULL
D)SELECT *FROM 选课表 WHERE 成绩 IS NOT NULL 25. 下列COUNT函数的用法错误的是________。 A)COUNT(ALL) B)COUNT(*)
C)COUNT(成绩) D)COUNT(DISTINCT 学号) 26. 要从选课表中统计每个学生选修的课程门数,应使用的SELECT-SQL语句是________。
A)SELECT COUNT(*)FROM 选课表
B)SELECT COUNT(*)FROM 选课表 GROUP BY 学号 C)SELECT DISTINCT COUNT(*)FROM 选课表
D)SELECT DISTINCT COUNT(*)FROM 选课表 GROUP BY 学号 27. 要从选课表中查询选修了三门课程以上的学生学号,应使用的SELECT-SQL语句是________。
A)SELECT 学号 FROM 选课表 WHERE COUNT(*)>=3 B)SELECT 学号 FROM 选课表 HAVING COUNT(*)>=3
C)SELECT 学号 FROM 选课表 GROUP BY 学号 HAVING COUNT
(*)>=3
D)SELECT 学号 FROM 选课表 GROUP BY 学号 WHERE COUNT
(*)>=3
28. 要从学生表中查询入校总分最高的3个学生的记录,应使用的SELECT-SQL语句是________。
A)SELECT * FROM 学生表 ORDER BY 入校总分ASC B)SELECT * FROM 学生表 ORDER BY 入校总分DESC
C)SELECT * FROM 学生表 TOP 3 ORDER BY 入校总分ASC D)SELECT * FROM 学生表 TOP 3 ORDER BY 入校总分DESC 29. 在进行多表联接查询时,用________表明联接的条件。 A)FOR或WHILE B)FOR或WHERE C)WHERE 或ON D)JOIN 或ON
30. 查询选修课成绩在80分以上的女生姓名,用________语句。
A)SELECT 姓名 FROM 学生表,选课表 WHERE 学生表.学号=选课表.
学号
.OR.性别=“女”.AND.成绩>=80
B)SELECT 姓名 FROM 学生表,选课表 WHERE 学生表.学号=选课表.
学号
.AND.性别=“女”.OR.成绩>=80
C)SELECT 姓名 FROM 学生表,选课表 WHERE 学生表.学号=选课表.
学号
.OR.性别=“女”.OR.成绩>=80
D)SELECT 姓名 FROM 学生表,选课表 WHERE 学生表.学号=选课表.
学号
.AND.性别=“女”.AND.成绩>=80
31. 查询所有教师所讲授的课程,列出教师号,姓名和课程号,用________语句。
A)SELECT 教师表.教师号,姓名,课程号 FROM 教师表,授课表 WHERE 教师表.教师号=教师号
B)SELECT教师表.教师号,姓名,课程号 FROM 教师表,授课表 ON教师表.教师号=授课表.教师号
C)SELECT教师表.教师号,姓名,课程号 FROM 教师表 INNER JION授课表 ON 教师表.教师号=授课表.教师号
D)SELECT教师表.教师号,姓名,课程号 FROM 教师表 INNER JION授课表 WHERE 教师表.教师号=授课表.教师号
32. 查询”陈静”教师所讲授的课程,列出姓名和课程名,用________语句。A)SELECT姓名,课程名 FROM 教师表,授课表 ,课程表
WHERE 教师表.教师号=授课表.教师号 AND 姓名=“陈静” B)SELECT姓名,课程名 FROM 教师表,授课表 ,课程表
WHERE 教师表.教师号=授课表.教师号 AND授课表.课程号=课程表.课程号AND 姓名=“陈静”
C) SELECT姓名,课程名 FROM 教师表,授课表 ,课程表
WHERE 教师表.教师号=授课表.教师号 AND授课表.教师号=课程表.课程号AND 姓名=“陈静”
D) SELECT姓名,课程名 FROM 教师表,授课表 ,课程表
WHERE 授课表.课程号=课程表.课程号AND 姓名=“陈静”
33. 查询所有比”陈静”教师工资高的教师姓名及工资,使用下列语句 SELECT
X.姓名,X.工资 FROM 教师表 AS X,教师表 AS Y
WHERE X.工资>Y.工资AND Y.姓名=“陈静”。
该语句使用的查询是________。
A) 内连接查询 B) 外连接查询 C) 自身连接查询 D) 子查询
34. 查询与”陈静”教师职称相同的教师名,用________语句。 A)SELECT 姓名FROM 教师表 WHERE 职称=“陈静”职称。 B)SELECT X.姓名FROM 教师表 AS X,教师表 AS Y
WHERE X.职称=Y.职称WHERE Y.姓名=“陈静”。
C)SELECT姓名FROM 教师表WHERE 职称=(SELECT职称 FROM 教
师
AND 姓名=“陈静”)
D)SELECT姓名FROM 教师表WHERE 职称=(SELECT职称 FROM 教
师
WHERE 姓名=“陈静”)
35. 当子查询返回的值是一个集合时,________不是在比较运算符和子查询中使用的量词。
A) REST B) IN C) ALL D) ANY 36. 查询讲授课程号为C140的教师姓名,错误的语句是________。 A)SELECT 姓名FROM 教师表 WHERE(教师号=ANY
(SELECT 教师号FROM 授课表 WHERE课程号=“C140”))
B)SELECT 姓名FROM 教师表 WHERE EXISTS(SELECT * FROM授课表
WHERE 教师号=教师表.教师号 AND课程号=“C140”)
C)SELECT 姓名FROM 教师表,授课表 WHERE教师表.教师号=授课表.教师
号 AND授课表.课程号=“C140”
D)SELECT 姓名FROM 教师表 WHERE(教师号=ALL
(SELECT 教师号FROM 授课表 WHERE课程号=“C140”))
37. 查询其他系中比计算机系所有教师工资都高的教师姓名和工资,正确的语句是________。
A)SELECT 姓名,工资FROM 教师表 WHERE工资>ANY(SELECT 工资 FRO
M 教师表 WHERE所在系=“计算机”)AND 所在系<>计算机
共分享92篇相关文档