当前位置:文档之家› 结构化查询语言SQL习题与答案 精品

结构化查询语言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) MODIFY7. 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 TIES14. 为了在查询结果中只包含两个表中符合条件的记录,应使用________联接类型。

A) INNER B) LEFT C) RIGHT D) FULL15. 在SELECT-SQL语句中,要将查询结果保存在文本文件中的选项是___ _____。

A)INTO〈新表名〉B) TO FILE 〈文件名〉C) TO PRINTER D) TO SCREEN16. 在SQL查询时,使用WHERE 子句提出的是________。

A) 查询目标B) 查询结果C) 查询条件D) 查询分组17. 在SELECT语句中,如果要对输出的记录进行排序,应选使用________项。

A) ORDER B) GROUP C) HAVING D) TOP18. 在SELECT语句中,________子句后可能带有HAVING短语。

A) ORDER B) GROUP C) WHERE D) SELECT19. 在SELECT-SQL语言中,________子句相当于关系中的投影运算。

A) WHERE B) JOIN C) FROM D) SELECT20. 如果要选择分数在70和80之间的记录,________是正确的。

A) 分数>=70 AND <=80 B) 分数BETWEEN 70 AND 80C) 分数>=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 成绩=0C)SELECT *FROM 选课表WHERE 成绩<>NULLD)SELECT *FROM 选课表WHERE 成绩IS NOT NULL25. 下列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(*)>=3B)SELECT 学号FROM 选课表HAVING COUNT(*)>=3C)SELECT 学号FROM 选课表GROUP BY 学号HAVING COUNT (*)>=3D)SELECT 学号FROM 选课表GROUP BY 学号WHERE COUNT (*)>=328. 要从学生表中查询入校总分最高的3个学生的记录,应使用的SELECT-SQL语句是________。

A)SELECT * FROM 学生表ORDER BY 入校总分ASCB)SELECT * FROM 学生表ORDER BY 入校总分DESCC)SELECT * FROM 学生表TOP 3 ORDER BY 入校总分ASCD)SELECT * FROM 学生表TOP 3 ORDER BY 入校总分DESC29. 在进行多表联接查询时,用________表明联接的条件。

A)FOR或WHILE B)FOR或WHEREC)WHERE 或ON D)JOIN 或ON30. 查询选修课成绩在80分以上的女生姓名,用________语句。

A)SELECT 姓名FROM 学生表,选课表WHERE 学生表.学号=选课表.学号.OR.性别=“女”.AND.成绩>=80B)SELECT 姓名FROM 学生表,选课表WHERE 学生表.学号=选课表.学号.AND.性别=“女”.OR.成绩>=80C)SELECT 姓名FROM 学生表,选课表WHERE 学生表.学号=选课表.学号.OR.性别=“女”.OR.成绩>=80D)SELECT 姓名FROM 学生表,选课表WHERE 学生表.学号=选课表.学号.AND.性别=“女”.AND.成绩>=8031. 查询所有教师所讲授的课程,列出教师号,姓名和课程号,用________语句。

A)SELECT 教师表.教师号,姓名,课程号FROM 教师表,授课表WHERE 教师表.教师号=教师号B)SELECT教师表.教师号,姓名,课程号FROM 教师表,授课表ON教师表.教师号=授课表.教师号C)SELECT教师表.教师号,姓名,课程号FROM 教师表INNER JION授课表ON 教师表.教师号=授课表.教师号D)SELECT教师表.教师号,姓名,课程号FROM 教师表INNER JION授课表WHERE 教师表.教师号=授课表.教师号32. 查询”陈静”教师所讲授的课程,列出姓名和课程名,用________语句。

A)SE LECT姓名,课程名FROM 教师表,授课表,课程表WHERE 教师表.教师号=授课表.教师号AND 姓名=“陈静”B)SELECT姓名,课程名FROM 教师表,授课表,课程表WHERE 教师表.教师号=授课表.教师号AND授课表.课程号=课程表.课程号AN D 姓名=“陈静”C) SELECT姓名,课程名FROM 教师表,授课表,课程表WHERE 教师表.教师号=授课表.教师号AND授课表.教师号=课程表.课程号AN D 姓名=“陈静”D) SELECT姓名,课程名FROM 教师表,授课表,课程表WHERE 授课表.课程号=课程表.课程号AND 姓名=“陈静”33. 查询所有比”陈静”教师工资高的教师姓名及工资,使用下列语句SELECTX.姓名,X.工资FROM 教师表AS X,教师表AS YWHERE X.工资>Y.工资AND Y.姓名=“陈静”。

该语句使用的查询是________。

A) 内连接查询B) 外连接查询C) 自身连接查询D) 子查询34. 查询与”陈静”教师职称相同的教师名,用________语句。

A)SELECT 姓名FROM 教师表WHERE 职称=“陈静”职称。

B)SELECT X.姓名FROM 教师表AS X,教师表AS YWHERE 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) ANY36. 查询讲授课程号为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. 查询其他系中比计算机系所有教师工资都高的教师姓名和工资,正确的语句是________。

相关主题