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) HAVIN G 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)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. 查询所有比”陈静”教师工资高的教师姓名及工资,使用下列语句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 所在系<>计算机

B)SELECT 姓名,工资FROM 教师表WHERE工资>(SELECT MIN(工资) FR

OM 教师表WHERE所在系=“计算机”)AND 所在系<>计算机

C)SELECT 姓名,工资FROM 教师表WHERE工资>ALL(SELECT 工资FRO

M 教师表WHERE所在系=“计算机”)AND 所在系<>计算机

D)SELECT 姓名,工资FROM 教师表WHERE工资>(SELECT MAX(工资) F

ROM 教师表WHERE所在系=“计算机”AND 所在系<>计算机)

38. 下列查询

SELECT 学号,SUM(成绩)AS 总分FROM 选课表WHERE (学号=“C1011101”) GROUP BY 学号

UNION

SELECT 学号,SUM(成绩)AS 总分FROM 选课表WHERE (学号=“C1011102”) GROUP BY 学号

使用的是________。

A) 合并查询B) 外连接查询

C) 自身连接查询D) 子查询

39. 下列________不是SQL语言具有的功能。

A) 数据定义B) 数据操纵C) 数据分配D) 数据查询

40. SQL语言的核心是________。

A) 建表B) 查询C) 汇总D) 定义

41. DCL是下列________语言的简称。

A) 数据定义B) 数据查询C) 数据操纵D) 数据控制

42. 视图和基本表对应于数据库三级模式中的________。

A) 外模式B) 模式C) 内模式D) 全部模式

43. 下列的完整性约束________是惟一性约束。

A) CHECK B) PRIMARY KEY

C) NULL/NOT NULL D) UNIQUE

44. 使用下列________约束,可以确保输入的值在指定的范围内。

A) CHECK B) PRIMARY KEY

C) NULL/NOT NULL D) FOREIGN KEY

45. 不属于数据定义功能的SQL语句是________。

A) CREATE TABLE B) CREATE CURSOR

C) UPDATE D) ALTER TABLE

46. 在ALTER-SQL语句中________子句用于增加字段的长度。

A) ADD B) ALTER

C) MODIFY D) DROP

47. SQL的数据操作语句不包括______。

A) INSERT B) ALTER C) DELETE D) UPDATE

48. 在使用命令INSERT INTO 〈表名〉[(列名…)] VALUSE(〈值〉)时下列描述错误的是______。

A)INSERT-SQL语句中列名的顺序可以与表定义时的列名顺序一致

B)INSERT-SQL语句中列名的顺序可以与表定义时的列名顺序不一致

C)INSERT-SQL语句中值的顺序可以与列名的顺序不一致

D)INSERT-SQL语句中值的顺序必须与列名的顺序一致

49. UPDATE-SQL语句的功能是______。

A) 定义数据B) 修改数据

C) 查询数据D) 删除数据

50. ALTER-SQL语句的功能是______。

A) 增加数据表B) 修改数据表

C) 查询数据表D) 删除数据表

51. 下列描述错误的是______。

A)SQL中的DELETE语句可以删除一条记录

B)SQL中的DELETE语句可以删除多条记录

C)SQL中的DELETE语句可以用子查询选择要删除的行

D)SQL中的DELETE语句可以删除子查询的结果

52. 创建数据表,使用________。

A) CREATE B) ALTER C) ADD D) MODIFY

53. SELECT-SQL语句可以用于多表查询,其中的数据表联接类型有四种,下列________项代表内部联接。

A) INNER B) LEFT C) RIGHT D) FULL

54. 用SELECT-SQL语句查询学生表中所有学生的姓名中,使用的是下列_ _______项。

A) 投影查询B) 条件查询C) 分组查询D) 查询排序

55. 在SELECT-SQL语句中,要将查询结果保存数据表中的选项是_______ _。

A)INTO〈新表名〉B) TO FILE 〈文件名〉

C) TO PRINTER D) TO SCREEN

56. 在SELECT-SQL语句中________函数不能使用。

A) AVE B) COUNT C) SUM D) EOF

57. 用SELECT-SQL语句中,统计女生的人数使用________函数。

A) AVE B) COUNT C) SUM D) MAX

58. 下列描述错误的是______。

A)SELECT-SQL语句可以为输出的字段重新命名

B)SELECT-SQL语句可以为输出的记录进行排序

C)SELECT-SQL语句不能重新指定列的顺序

D)SELECT-SQL语句不能省略FROM 子句

59. 下列描述错误的是______。

A)SELECT-SQL语句可以将查询的结果追加到已有的数据表

B)SELECT-SQL语句可以将查询的结果输出到一个新的数据表

C)SELECT-SQL语句可以将查询的结果输出到一个文本文件

D)SELECT-SQL语句可以将查询的结果输出到屏幕

60. 下列运算符中,________属于字符匹配。

A) != B) BETWEEN C) IN D) LIKE

61. 为了在选课表中查询选修了”C140”和”C160”课程的学号,SELECT-SQL 语句的WHERE子句的格式为________。

A)WHERE 课程号BETWEEN “C140” AND “C160”

B)WHERE 课程号=“C140” AND “C160”

C)WHERE 课程号IN (“C140”,”C160”)

D)WHERE 课程号LIKE (“C140”,”C160”)

62. 在下列函数中,可以对字符型字段进行计算的是________。

A)SUM B)COUNT C)AVG D)MAX

63. 下列不正确的搭配是________。

A)COUNT(学号)与DISTINCT B)COUNT(课程号)与DISTINCT

C)COUNT(教师号)与DISTINCT D)COUNT(*)与DISTINCT

64. 统计选课门数在两门以上学生的学号,SELECT-SQL语句为________。

A)SELECT 学号FROM 选课表HAVING COUNT(*)>=2

B)SELECT 学号FROM 选课表GROUP BY 学号HAVING COUNT (*)>=2

C)SELECT 学号FROM 选课表WHERE COUNT(*)>=2

D)SELECT 学号FROM 选课表GROUP BY 学号WHERE COUNT (*)>=2

65. 查询选修了课程”C140”的学生学号和成绩,并按成绩降序排列,SELEC T-SQL语句为________。

A)SELECT 学号,成绩FROM 选课表WHERE 课程号=“C140”

ORDER BY 成绩DESC

B)SELECT 学号,成绩FROM 选课表WHERE 课程号=“C140”

GROUP BY 成绩DESC

C)SELECT 学号,成绩FROM 选课表WHERE 课程号=“C140”

ORDER BY 成绩GROUP BY 学号DESC

D)SELECT 学号,成绩FROM 选课表WHERE 课程号=“C140”

ORDER BY 学号DESC

66. 要显示两个表中所有符合条件和不符合条件的记录行,使用下列______ __。

A)INNER JOIN B)LEFT JOIN

C)RIGHT JOIN D)FULL JOIN

67. 当JOIN前的连接类型缺省时,是指________。

A)INNER JOIN B)LEFT JOIN

C)RIGHT JOIN D)FULL JOIN

68. 查询比王力同学入校总分高的学生姓名和入校总分,SELECT-SQL语句为________。

A)SELECT 姓名,入校总分FROM 学生表WHERE 入校总分>

(入校总分WHERE 姓名=“王力”)

B)SELECT 姓名,入校总分FROM 学生表WHERE 入校总分>

(SELECT 入校总分FOR 姓名=“王力”)

C)SELECT X.姓名,X.入校总分FROM 学生表AS X,学生表AS Y

WHERE X.入校总分>Y.入校总分AND Y.姓名=“王力”

D)SELECT 姓名,入校总分FROM 学生表WHERE 入校总分IN

(SELECT 入校总分WHERE 姓名=“王力”)

69. 当子查询返回的值是一个集合时,下列________可以完全代替ANY。

A) EXISTS B) IN C) ALL D) BETWEEN

70. 查询比所有女生入校总分高的男生姓名和入校总分,正确的语句是____ ____。

A)SELECT 姓名,入校总分FROM 学生表WHERE(入校总分>ANY

(SELECT 入校总分FROM 学生表WHERE 性别=“女生”))AND性别=“男”

B)SELECT 姓名,入校总分FROM 学生表WHERE(入校总分>

(SELECT MIN(入校总分)FROM 学生表WHERE 性别=“女生”))AND性别=“男”

C)SELECT 姓名,入校总分FROM 学生表WHERE(入校总分>ALL

(SELECT 入校总分FROM 学生表WHERE 性别=“女生”))AND性别=“男”

D)SELECT 姓名,入校总分FROM 学生表WHERE(入校总分>

(SELECT MAX(入校总分)FROM 学生表WHERE 性别=“女生” AND性别=“男”)

71. 查询没有讲授课程号为C140的教师姓名,错误的语句是________。

A)SELECT 姓名FROM 教师表WHERE(教师号<>ANY

(SELECT 教师号FROM 授课表WHERE课程号=“C140”))

B)SELECT 姓名FROM 教师表WHERE NOT EXISTS(SELECT * FROM授课

表WHERE 教师号=教师表.教师号AND课程号=“C140”)

C)SELECT 姓名FROM 教师表WHERE NOT IN(SELECT * FROM授课表W

HERE 教师号=教师表.教师号AND课程号=“C140”)

D)SELECT 姓名FROM 教师表WHERE(教师号NOT ALL

(SELECT 教师号FROM 授课表WHERE课程号=“C140”))

二、填空题

1. 当要对基本表中的多个列一起约束时,应使用_______。

2. FOREIGN KEY约束的作用是指定某一个列或一组列作为_______。

3. 在创建学生表时,要将学号字段定义为8个字符长度,且为主键,其列定义为_______。

4. 如果一个查询需要对多个表进行操作时,这种查询称为________。

5. 要在一个数据表中添加完整性约束定义,应使用ALTER-SQL 语句中的_ ______子句。

6. 在使用下列命令格式:

INSERT INTO 〈表名〉[(列名…)] VALUSE(〈值〉)

向表中插入数据,如果没有指定列名,则新插入的记录要求在每个属性列上都_ ______。

7. 在选课表中插入一条选课记录,其中只给学号和课程号赋予了值,成绩字段没有赋值,这时成绩字段的值为_______。

8. 查询选修了C120、C140、C150、C160课程的学生学号、课程号和成绩,查询结果按学号升序排列,学号相同再按成绩降序排列。请对下列的SELECT-SQL语句填空。

SELECT 学号, 课程号, 成绩FROM 选课表;

WHERE 课程号IN(“C120”, ”C140”, ”C150”, ”C160”);

ORDER BY 学号, ________

9. 插入一条记录到课程表,其值为课程号:C170;课程名:办公自动化;课时:50。请对下列的SELECT-SQL语句填空。

_______ 课程表VALUES (“C170”, “办公自动化”,50)

10. 将教师表中工资小于或等于1000元的讲师的工资提高20%,请对下列的SELECT-SQL语句填空。

UPDATE 教师_______ WHERE(职称=“讲师”) AND (工资<=1000)

11. 在学生表中,删除所有入校总分在550分以下的学生记录,其SQL语句为_______。

12. 在授课表中,删除所有教师的授课记录,其SQL语句为_______。

13. 用SELECT-SQL语句查询学生的基本情况,如果要使学生表中”入校总分”字段在查询结果中的标题为”高考分数”,其对应的子句为_______。

14. 如果在SELECT-SQL语句中使用了TOP子句,必须要同时使用______ _子句。

15. WHERE子句和________子句都是用于筛选记录的,但作用对象不同。

16. 在教师表中查询工资不在1500至2000之间的教师姓名,请对下列的S ELECT-SQL语句填空。

WHERE 工资NOT ________

17. 在学生表中查询所有姓”张”的学生记录。请对下列的SELECT-SQL语句填空。

WHERE 姓名________

18. 在选课表中查询没有成绩的学生学号和课程号,其SELECT-SQL语句中的WHERE子句应为________。

19. 在选课表中统计有成绩的记录数。请对下列的SELECT-SQL语句填空。

SELECT ________ FROM 选课表

20. 在教师表中统计职称为教授的人数。请对下列的SELECT-SQL语句填空。

SELECT ________FROM 教师WHERE 职称=“教授”

21. 求选课在三门以上且各门课程均及格的学生的学号及总成绩,查询结果按总成绩降序排列。请对下列的SELECT-SQL语句填空。

SELECT 学号,SUM(成绩)AS 总成绩FROM 选课表;

WHERE 成绩>=60 ________ORDER BY SUM(成绩)DESC

22. 用子查询的方式查询与”陈静”教师职称相同的教师姓名、性别及职称,使用语句。请对下列的SELECT-SQL语句填空。

SELECT 姓名,性别,职称FROM 教师表WHERE 职称=_____ ___

23. 查询比任何一个男生入校总分高的女生姓名和入校总分。请对下列的S ELECT-SQL语句填空。

SELECT 姓名, 入校总分FROM 学生表WHERE ________;

(SELECT入校总分FROM 学生WHERE 性别=“男”);

AND 性别= “女”

24. 查询比所有男生的入校总分都高的女生姓名和入校总分。请对下列的SE LECT-SQL语句填空。

SELECT 姓名,入校总分FROM 学生表WHERE _______;

(SELECT入校总分FROM 学生表WHERE 性别=“男” );

AND 性别= “女”

25. 查询学生的学号和总分,并将结果存入一个新数据表:总分表。请对下列的SELECT-SQL语句填空。

SELECT 学号, SUM(成绩) AS 总分INTO 总分表;

FROM 选课表_______

26. SQL语言既是一种交互式语言,又是一种_______语言。

27. 在学生表中输入的记录大部分是男生的记录,为了节省输入数据的时间,可以在创建数据表时为”性别”字段定义_______值。

28. 在创建数据表时,如果要将字段的输入值限定在某个区域,应使用____ ___约束。

29. 在创建教师表时,要将教师号字段定义为5个字符长度,不能为空,且为主键,其列定义为_______。

30. 在SQL中,删除数据表的语句是_______。

31. 对于已创建好的数据表,如果要取消一项约束,应使用ALTER-SQL中的_______子句。

32. 用INSERT-SQL语句插入数据时,可以利用表达式、同名内存变量、数组和_______。

33. 给教师表中每个教师的工资增加50元。请对下列的SELECT-SQL语句填空。

UPDATE 教师_______。

34. 在选课表中,查询平均成绩在80分以上(含80分)的学生的学号和平均成绩(输出列标题为学号,平均成绩)。请对下列的SELECT-SQL语句填空。

SELECT 学号, AVG(成绩) AS 平均成绩FROM 选课表GROUP BY 学号

_________

35. 在SELECT-SQL中,用_______子句指定查询分组的条件。

36. 在SELECT-SQL中,多表的联接条件和记录的筛选条件都可以用_____ __子句来指定。

37. 在SELECT-SQL中,用_______子句来指定输出记录的百分比。

38. 为了输出入校总分前三名的同学,在SELECT-SQL中,要用TOP子句和_______子句。

39. 查询教师表中全部信息,使用_______语句。

40. 在选课表中,查询选修了课程的学号。请对下列的SELECT-SQL语句填空。

SELECT _______ 学号FROM 选课表

41. 为了输出入校总分前三名的同学姓名和入校总分。请对下列的SELECT -SQL语句填空。

SELECT______姓名, 入校总分FROM 学生表ORDER BY 入校总分

42. 在学生表中查询女三好生记录,其SELECT-SQL语句中的WHERE子句应为________。

43. 在选课表中,求学号为”S0201108”的学生的总分和平均分,并在查询的结果中以”总分”和”平均分”为列标题输出。请对下列的SELECT-SQL语句填空。

SELECT SUM(成绩)AS 总分, _______AS 平均分FROM 选课表;

WHERE 学号=“S0201108”

44. 统计选课表中有多少门课(代表课程的字段为“课程号”)。请对下列的S ELECT-SQL语句填空。

SELECT ________FROM 选课表

45. 在授课表中,查询各位教师的教师号及其任课的门数。请对下列的SEL ECT-SQL语句填空。

SELECT 教师号, COUNT(*) FROM 授课表________

《结构化查询语言》参考答案

一、选择题

1. A)

2. C)

3. B)

4. C)

5. D)

6. C)

7. A)

8. D)

9. D) 10. B)

11. D) 12. C) 13. B) 14. A)

15. B)

16. C) 17. A) 18. B) 19. D)

20. B)

21. D) 22. C) 23. D) 24. D)

25.A)

26. B) 27. C) 28. D) 29. C) 30.

D)

31. C) 32. B) 33. C) 34. D)

35. A)

36. D) 37. C) 38. A) 39. C) 40.

B)

41. D) 42. A) 43. D) 44. A)

45. C)

46. B) 47. B) 48. C) 49. B) 50.

B)

51. D) 52. A) 53. A) 54. A)

55. A)

56. D) 57. B) 58. C) 59. A) 60.

D)

61. C) 62. B) 63. D) 64. B)

65. A)

66. D) 67. A) 68. C) 69. B) 70.

C)

71. D)

二、填空题

1. 表约束

2. 外部键

3. 学号CHAR(8) PRIMARY KEY

4. 连接查询

5. ADD

6. 有值

7. NULL

8. 成绩DESC

9. INSERT INTO

10. SET 工资=1.2*工资

11. DELETE FROM 学生WHERE 入校总分<=550

12. DELETE FROM 授课表

13. 入校总分AS 高考分数

14. ORDER

15. HAVING

16. BETWEEN 1500 AND 2000

17. LIKE “张%”

18. WHERE 成绩IS NULL

19. COUNT(成绩)

20. COUNT(*)

21. GROUP BY 学号HAVING(COUNT(*)>=3)

22. (SELECT职称FROM 教师表WHERE 姓名=“陈静”)

23. 入校总分>ANY

24. 入校总分>ALL

25. GROUP BY 学号

26. 嵌入式

27. DEFAULT|缺省

28. CHECK

29. 教师号CHAR(5) NOT NULL PRIMARY KEY

30. DROP

31. DROP

32. 子查询

33. SET 工资=工资+50

34. HAVING AVG(成绩)>=80

35. HAVING

36. WHERE

37. PERCENT

38. ORDER

39. SELECT * FROM 教师表

40. DISTINCT

41. TOP 3

42. WHERE 性别=“女”AND 三好生

43. AVG(成绩)

44. COUNT(DISTINCT 课程号)

45. GROUP BY 教师号

《数据库系统概论》SQL语言复习题(含答案)

SQL语言习题 一、单项选择题 1.SQL语言是的语言,易学习。 A.过程化B.非过程化 C.格式化D.导航式 答案:B 2.SQL语言是语言。 A.层次数据库B.网络数据库 C.关系数据库D.非数据库 答案:C 3.SQL语言具有的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 答案:B 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是。 A.SELECT B.INSERT C.UPDA TE D.DELETE 答案:A 5.SQL语言具有两种使用方式,分别称为交互式SQL和。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C 6.SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 答案:A 7.下列SQL语句中,修改表结构的是。 A.ALTER B.CREATE C.UPDATE D.INSERT 答案:A 第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’) B.SELECT SN,AGE,SEX FROM S WHERE SN=’王华’ C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’) D.SELECT SN,AGE,SEX FROM S

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

SQL复习题(附部分答案)

一、单选题 1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项: ( ___) A.只存在一对多的实体关系,以图形方式来表示。 B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C.能体现一对多、多对多的关系,但不能体现一对一的关系。 D.关系模型数据库是数据库发展的最初阶段。 答案[ B] 2、在“连接”组中有两种连接认证方式,其中在( ___)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码。 A 、 Windows身份验证B、SQL Server身份验证 C 、以超级用户身份登录时 D 、其他方式登录时 答案[ B] 3、关系数据库中,主键是(___),当运用 Transact-SQL 语句创建主键时,可以是( __)。 ⑴ A 、为标识表中唯一的实体B、创建唯一的索引,允许空值 C 、只允许以表中第一字段建立D、允许有多个主键的 ⑵ A 、 create table table1 (column1 char(13) not null primary key, column2 int not on primary key; B 、alter table table1 with nocheck add constraint [PK_table1] primary key nonclustered ( column1) on primary; C、alter table table1 column1 primary key ; 答案[AC] 4、视图是一种常用的数据对象,可以简化数据库操作,当使用多个数据表来 建立视图时,不允许在该语句中包括( ___)等关键字。 A 、 ORDER BY,COMPUTE B 、ORDER BY,COMPUTE,COMPUTR BY C 、 ORDER BY,COMPUTE BY,GROUP BY D 、 GROUP BY,COMPUT E BY 答案[B ] 5、在 Transact-SQL 语法中, SELECT语句的完整语法较复杂,但至少包括的部分(_1_),使用关键字( _2_)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是( _3__),如果在 SELECT语句中使用聚合函数时,可以在后面使用( _4_)。 ⑴A 、SELECT,INTO B 、SELECT,FROM C 、SELECT,GROUP D、仅 SELECT ⑵ A 、DISTINCT B、UNION C 、ALL D 、TOP ⑶A 、JOIN B、UNION C、INTO D 、 LIKE ⑷A 、 GROUP BY 、BCOMPUTE BY 、CHAVING D、COMPUTE 答案[BABA] 6、SQL Server 2008 是一个()的数据库系统。 (A) 网状型( B)层次型(C)关系型(D)以上都不是

第四章结构化查询语言SQL单元练习题

一填空题 1. 查询命令SELECT * FROM 成绩,其中”*”表示,查询命令SELECT * FROM 学籍,成绩,”*”表示. 2. 在SQL-SELECT命令中,将查询结果存入数据表的短语是. 3. 在SQL-SELECT命令的ORDER BY字句中,desc表示按输出,asc表示按输出. 4. 在SQL-SELECT命令中可以使用一些统计函数,这些函数包括, ,A VG(),MAX()和MIN()等. 5. 用来创建表结构的sql命令是. 6. 用来向表中输入记录的sql命令是. 7. 删除表中记录的sql命令是,从数据库中删除表的sql命令是. 8.用来修改表结构的sql命令是,修改记录的sql命令是. 9. 删除”考生”表中的”年龄”字段,使用sql语句: TABLE 考生年龄 10. 使用CREA TE TABLE 命令定义表结构时,要设置字段的有效性规则,使用选项,设置字段默认值使用 选项,设置主关键字段使用选项. 二选择题 1.在SQL-SELECT查询时,使用WHERE字句指出的是( ). A. 查询目标 B. 查询结果 C. 查询条件 D. 查询视图 2.下列有关HA VING字句描述错误的是( ). A.HA VING子句必须与GROUP BY 子句同时使用,不能单独使用. B. 使用HA VING子句的同时不能使用WHERE子句. C. 使用HA VING子句的同时可以使用WHERE子句. D. 使用HA VING子句的作用是限定分组的条件. 3.SQL-SELECT查询的HA VING子句通常出现在短语( )中. A. ORDEY BY B. GROUP BY C. SORT D. INDEX 4. SQL-SELECT查询中的条件短语是( ). A. WHERE B. WHILE C. FOR D. CONDITION 5. SQL-INSERT命令的功能是( ). A. 在表头插入一条记录 B. 在表尾插入一条记录 C. 在表中制定位置插入一条记录 D. 在表中制定位置插入若干条记录 6. SQL-UPDA TE命令的功能是( ). A.数据定义 B. 数据查询 C.更新表中字段的属性 D. 更新表中字段的内容 7. 假定”商品”表中有6条记录,数量字段的值分别为100、200、100、300、100、200,查询命令SELECT SUM(数量),SUM(DISTINCT 数量) FROM 商品,则命令中的函数SUM(数量)和SUM(DISTINCT 数量)的值分别是( ). A. 1000,1000 B. 600,600 C. 600,1000 D. 1000,600 8. 与查询命令”SELECT 姓名,专业FROM 学籍”等价的命令是( ). A. LIST OFF FIELDS 姓名,专业 B. DISPLAY FIELDS 姓名,专业 C. BROWSE FIELDS 姓名,专业 D. CHANGE FIELDS 姓名,专业 9. 在SQL-SELECT查询命令中,能够实现数据表之间关联的选项是( ). A. HA VING B. GROUP BY C. WHERE D. ORDER BY 10. 对数据表STOCK.DBF执行下列SQL语句后的结果是( ). SELECT * FROM STOCK INTO DBF STOCK ORDER BY 单价 A.系统将会提示出错信息. B.会生成一个按单价升序排列的表文件,覆盖原来的stock.dbf文件. C.会生成一个按单价降序排列的表文件,覆盖原来的stock.dbf文件. D.不会生成排序文件,只能在屏幕上显示一个按”单价”排序的结果. 11. 有如下SQL-SELECT 语句: SELECT * FROM STOCK WHERE 单价BETWEEN 8.00 AND 20.00

电大《数据库基础与应用》教材第4章答案

电大《数据库基础与应用》教材第4章答案 第四章结构化查询语言--SQL 一、填空题 1. 视图、基本表 2. 非过程化、集合 3. KUCUN、LIU 4. 列级、表级 5. 主码、单值、外码、检查 6. primary key、foreign key 7. 建立、修改、删除 、多行(多值) 8. 单行(单值) 9. 插入、修改、删除 10. 表、建立 11. 修改、查找 12. 基本表、视图 13. 没有影响、有影响 14. create view、update、drop view 15. 投影、连接、选择 16.group by、order by 17.inner join、left join、right join 二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条S QL 查询语句写出 相应的功能。 1. 从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。 2. 从商品库中查询出所有商品的不同品牌。 3. 从商品库中查询出品牌为熊猫或春兰的所有商品的商品代号、分类名、产地和品牌。 4. 从教学库中查询出每门课程被选修的学生数。 5. 从教学库中查询出只选修了一门课程的全部学生。 6. 从教学库中查询出学生号为@s1 的学生所选修、而学生号为@s2 的学生没有选修的全部课程。 7. 从教学库中查询出所有已被学生选修的课程。 8. 从教学库中查询出同时选修了3门课程的全部学生。 9. 从教学库中查询出每个专业的学生人数,并按人数多少降序排列。 10. 从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。

三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。 1. select 商品表1.商品代号,单价,数量,产地 from 商品表1,商品表2 where 商品表1.商品代号=商品表2.商品代号 2. select * from 商品表1 where 数量 between 10 and 20 (或w here 数量>=10 and 数量<=20) 3. select 分类名,avg(数量) as 平均数量

SQL数据库习题及答案

SQL数据库习题及答案 1.模型中,同一个关系中的不同属性,其属性名__B__。A. 可以相同 B. 不能相同C. 可以相同,但数据类型不同 D. 必须相同 2.数据库系统由数据库、A组成。A.DBMS、应用程序、支持数据库运行的软硬件环境和DBA 3.计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在辅助存储器中,程序和数据之间具有相对的独立性,数据不再属于某个特定的应用程序,数据可以重复使用,该阶段是B。B.文件管理阶段C.数据库管理阶段D.信息管理系统阶段 4.在数据库的三级体系结构中,数据库的模式对应于数据库的D B.内部视图C.存储视图D.概念视图 5.在数据库的三级体系结构中,数据的逻辑独立性是通过D来实现的。D.外模式-模式映射 6.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。 7.DDL是指数据描述语言,DML是指数据操纵-查询语言,DBMS是指数据库管理系统,DD是指数据字典。 8.在SPARC结构中,定义的数据库三层结构分别是外模式、模式和内模式。9.数据的独立性包括物理独立性和逻辑独立性两个方面。 10.实体集之间的联系有三种,分别是一对一的联系,一对多的联系,多对多的联系11.试说明数据管理的数据库阶段的主要特点。答:数据库管理的数据库阶段主要特点是:1、数据共享性;2、具有较高的数据与程序的独立性;3、便于对数据实行集中统一的控制。12.试说明DBMS的组成。答:DBMS是由一系列软件构成的复杂系统,一般来说DBMS由下列三类软件组成:语言系统;控制数据库运行的程序;数据库维护程序;13.数据模型的三要素是什么?答:数据模型的三要素是数据结构、数据操作、数据的约束条件。14.关系模型有什么特点?答:关系模型有什么特点:1、关系模型与非关系模型不同,它是建立在严格的数学概念基础上的;2、关系模型的概念单一,无论实体或实体之间的联系都用关系表示3、存取路径对用户透明。4、关系必须是规范化的关系。 第二章关系数据库基本理论 1.下列不属于关系代数运算的是 A 。A.查询B.投影C.选择D.联

VisualFoxPro实验教程练习题答案第4章结构化查询语言(SQL).

VisualFoxPro实验教程练习题答案第4章结构化查询语言 (SQL). 在本章的习题中,如果没有特别指明,则使用如下数据表: 学生:学号C(6),姓名C(6),性别C(2),生日 D 课程:课程编号C(6),课程名称C(20),开课院系C(20) 成绩:学号C(10),课程编号C(6),成绩I 二、填空题 1.SQL的英文全称为Structured Query Language 。 2.SQL-SELECT语句的功能是:从数据库中查询数据 3. 在Visual Foxpro 支持的SQL语句中,可以向表中输入记录的命令是INSERT;可以查询表中内容的命令是SELECT 。 4. 在SQL语句中,可以删除表中记录的命令是DELETE;可以从数据库中删除表的命令是DROP TABLE 。 5. 在SQL语句中,可以修改表结构的命令是ALTER TABLE ;可以修改表中数据的命令是UPDATE 。 6. 在SQL-SELECT语句中,将查询结果存入数据表的短语是INTO DBF 。 7. 在SQL-SELECT语句中,将查询结果按指定字段排序输出的短语是 ORDER BY ;将查询结果分组输出的短语是GROUP BY 。 8. 在SQL-SELECT语句的ORDER BY子句中,DESC表示按降序输出;省略DESC表示按升序输出。 9.使用SQL的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应在GROUP BY中使用__Having__子句。 10.SQL支持集合的并运算,其运算符是_UNION____。 11.在SQL的SELECT查询语句中,HA VING子句不可以单独使用,总是跟在GROUP BY 子句之后一起使用。 12.在SQL的SELECT查询语句中,使用___DISTINCT__子句可以实现消除查询结果中存在的重复记录。

sql习题答案

sql习题答案 1.3 习题 1. 数据库的发展历史分为哪几个阶段?各有什么特点? 答:从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。 人工管理阶段数据管理特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。 文件系统阶段数据管理特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。 数据库系统阶段数据管理特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。 2. 简述数据、数据库、数据库管理系统、数据库系统的概念。 答:数据是指描述事物的符号记录。人们通过数据来认识世界,交流信息。 数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。 数据库管理系统(DataBase Management System,简称DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能,它位于用户和操作系统之间,是一层数据管理软件。 数据库系统(DataBase System,简称DBS)是指在计算机系统中引入了数据库后的系统,由计算机硬件、数据库、数据库管理系统、应用程序和用户构成,即由计算机硬件、软件和使用人员构成。 3. 使用数据库系统有什么好处? 答:简化管理,提高效率,提供安全。 4. 试述数据库系统的三级模式结构和二级映象的特点。

大一计算机sql试题及答案

大一计算机sql试题及答案 1. 基本概念与原理 SQL(Structured Query Language,结构化查询语言)是一种用于管 理关系型数据库的标准化语言。它能够实现对数据库的增删改查操作,是处理和管理数据库的基础。 2. SQL语句分类 SQL语句分为四大类:数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。 2.1 数据定义语言(DDL) DDL语句用于定义数据库对象,如表、视图、索引等。常见的 DDL语句有CREATE、ALTER和DROP。 2.2 数据操纵语言(DML) DML语句用于对数据库中的数据进行操作,如插入、更新和删除。常见的DML语句有INSERT、UPDATE和DELETE。 2.3 数据查询语言(DQL) DQL语句用于从数据库中查询数据。常见的DQL语句是SELECT,它可以用来选择表中的数据。 2.4 数据控制语言(DCL) DCL语句用于授权和权限的管理,如GRANT和REVOKE语句。

3. SQL基本语法 SQL语句必须以分号结尾,多条语句可以写在一行或者单独写在不同的行。SQL语句不区分大小写,但是关键字通常使用大写。 4. SQL查询语句 SQL查询语句是使用最频繁的语句之一。下面以一个学生表(student)为例,展示一些常见的SQL查询语句及其答案。 4.1 查询所有学生信息 SELECT * FROM student; 4.2 查询学生姓名和年龄 SELECT name, age FROM student; 4.3 查询年龄在18到20岁之间的学生信息 SELECT * FROM student WHERE age BETWEEN 18 AND 20; 4.4 查询姓张的学生信息 SELECT * FROM student WHERE name LIKE '张%'; 4.5 查询班级为1班的学生信息 SELECT * FROM student WHERE class = '1班'; 4.6 查询学生按年龄从小到大排序的信息 SELECT * FROM student ORDER BY age ASC;

sql课后习题答案

sql课后习题答案 SQL课后习题答案 随着信息技术的快速发展,数据库管理系统(DBMS)在各行各业中扮演着重要的角色。而SQL(Structured Query Language)作为一种用于管理和操作关系型数据库的语言,被广泛应用于企业和组织的数据管理和分析中。在学习SQL的过程中,课后习题是巩固知识的重要环节。下面将为大家提供一些常见SQL课后习题的答案,希望对大家的学习有所帮助。 1. 查询所有学生的姓名和年龄。 答案:SELECT name, age FROM students; 2. 查询所有学生的姓名和年龄,并按照年龄降序排列。 答案:SELECT name, age FROM students ORDER BY age DESC; 3. 查询学生表中年龄大于20岁的学生信息。 答案:SELECT * FROM students WHERE age > 20; 4. 查询学生表中年龄大于20岁并且性别为男的学生信息。 答案:SELECT * FROM students WHERE age > 20 AND gender = '男'; 5. 查询学生表中年龄大于20岁或者性别为女的学生信息。 答案:SELECT * FROM students WHERE age > 20 OR gender = '女'; 6. 查询学生表中的学生总数。 答案:SELECT COUNT(*) FROM students; 7. 查询学生表中不重复的年龄。 答案:SELECT DISTINCT age FROM students; 8. 查询学生表中年龄在20岁到25岁之间的学生信息。

SQL语言习题参考答案

第3章 SQL语言习题参考答案 1.试述SQL语言的特点。(85页) 答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。2.试述SQL的定义功能。(87页) 答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)) 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成: CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)) 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、

所在城市(CITY)组成: CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)). 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成: CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)) 4.针对上题中建立的四个表试用SQL语言完成第二章习 题5中的查询: (1)求供应工程J1零件的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' (2)求供应工程J1零件P1的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO: SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO: SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

(完整版)sql语句练习题及答案

一在数据库 school 中建立student , sc, course 表。 学生表、课程表、选课表属于数据库School ,其各自的数据结构如下:学生Student (Sno,Sname,Ssex,Sage,Sdept) 课程表course(Cno,Cname,Cpno,Ccredit) 学生选课SC(Sno,Cno,Grade) 二设定主码 1 Student表的主码:sno 2 Course表的主码:cno 3 Sc表的主码:sno,cno 1写出使用 Create Table 语句创建表 student , sc, course 的SQL语句2 3 删除student表中的元组 4在数据库school中删除关系student 5在student表添加属性sbirthdate 类型datetime

Delete 1 删除所有JSJ 系的男生delete from Student where Sdept=’JSJ’ and Ssex=’男’; 2 删除“数据库原理”的课的选课纪录 delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’); Update 1 修改0001 学生的系科为: JSJ 2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为9 3 分 3 把“数据库原理”课的成绩减去1分 Select 查询语句 一单表 1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。 2查询姓名中第2个字为“明”字的学生学号、性别。 3查询 1001课程没有成绩的学生学号、课程号 4查询JSJ 、SX、WL 系的年龄大于25岁的学生学号,姓名,结果按系排列 5按10分制查询学生的sno,cno,10分制成绩 (1-10分为1 ,11-20分为2 ,30-39分为3,。。。90-100为10) 6查询 student 表中的学生共分布在那几个系中。(distinct) 7查询0001号学生1001,1002课程的成绩。 二统计 1查询姓名中有“明”字的学生人数。 2计算‘JSJ’系的平均年龄及最大年龄。 3查询学生中姓名为张明、赵英的人数 4计算每一门课的总分、平均分,最高分、最低分,按平均分由高到低排列 5 计算 1001,1002 课程的平均分。 6 查询平均分大于80分的学生学号及平均分 7 统计选修课程超过 2 门的学生学号 8 统计有10位成绩大于85分以上的课程号。 9 统计平均分不及格的学生学号 10 统计有大于两门课不及格的学生学号 三连接 1查询 JSJ 系的学生选修的课程号 2查询选修1002 课程的学生的学生姓名 (不用嵌套及嵌套2种方法) 3查询数据库原理不及格的学生学号及成绩 4查询选修“数据库原理”课且成绩 80 以上的学生姓名(不用嵌套及嵌套2种方法) 5查询平均分不及格的学生的学号,姓名,平均分。 6查询女学生平均分高于75分的学生姓名。 7查询男学生学号、姓名、课程号、成绩。(一门课程也没有选修的男学生也要列出,不能

数据库中SQL查询语句习题含答案

数据库中SQL查询语句习题含答案 查询问题:设教学数据库Education 有三个关系:学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) (1)检索计算机系的全体学生的学号,姓名和性别;(2)检索学习课程号为C2的学生学号与姓名;(3)检索选修课程名为“DS ”的学生学号与姓名;(4)检索选修课程号为C2或C4的学生学号;(5)检索至少选修课程号为C2和C4的学生学号;(6)检索不学C2课的学生姓名和年龄;(7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM S WHERE Sdept =’CS ’; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名本查询涉及到学号、姓名和课程名三个属性,分别存放在S 和C 表中,但S 和C 表没有直接联系,必须通过SC 表建立它们二者的联系。 C → SC → S 基本思路: (1)首先在C 表中找出“DS ”课程的课程号Cno ;(2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ; (3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。 SELECT Sno ,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS ’)); (4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’; (5)检索至少选修课程号为C2和C4的学生学号; SELECT Sno FROM SC X ,SC Y

SQL语言练习题和答案

第三章SQL语言 一、选择题 1. SQL语言是(B )的语言,容易学习。 A.过程化 B. 非过程化 C.格式化 D. 导航式 2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A)。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是()。 A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图 4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL语言中,删除一个视图的命令是()。 6. 在SQL语言中的视图VIEW是数据库的()。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的SQL语句中,()不是数据定义语句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销数据库中已经存在的表S,可用()。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(课程名),可用()。 TABLE S(CN CHAR(8)) TABLE S ALTER(CN CHAR(8)) TABLE S ADD(CN CHAR(8)) TABLE S (ADD CN CHAR(8)) 10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

(完整版)sql练习题+答案

(一)新建以下几个表student(学生表): 其中约束如下: (1)学号不能存在相同的 (2)名字为非空 (3)性别的值只能是'男'或'女' (4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文 系,外语系,法学系 (5)出生日期为日期格式 (6)年龄为数值型,且在0~100 之间 create table student (

age smallint constraint d check ( age between 0

cs(成绩表): 其中约束如下: 1)sno 和cno 分别参照student 和course 表中的sno,cno 的字段2)cj(成绩)只能在0~100之间,可以不输入值 create table cs ( sno smallint not null references student ( sno ), - 定义成外键 cno smallint not null references course ( cno ), - 定义成外键 cj smallint constraint e check ( cj between 0 and 100 ), 检查约束——cj( 成绩) 只能在~100 之间,可以不输入值 constraint f primary key ( sno , cno ) ----- 定 义学生学号和课程号为sc 表的主键 ) course 课程表)

其约束如下: 1)课程号( cno)不能有重复的 2)课程名( cname)非空 三)针对学生课程数据库查询 (1)查询全体学生的学号与姓名。 (2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。 (3)查询全体学生的详细记录。select * from student (4)查全体学生的姓名及其出生年份。 select sname , birth from student (5)查询学校中有哪些系。 select distinct dept from student

(完整版)sql练习题+答案

(一)新建以下几个表 student(学生表): 其中约束如下: (1)学号不能存在相同的 (2)名字为非空 (3)性别的值只能是’男’或’女’ (4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系 (5)出生日期为日期格式 (6)年龄为数值型,且在0~100之间

cs(成绩表): 其中约束如下: (1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0~100之间,可以不输入值 course(课程表)

其约束如下: (1)课程号(cno)不能有重复的 (2)课程名(cname)非空 (三)针对学生课程数据库查询 (1)查询全体学生的学号与姓名。 (2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。 (3)查询全体学生的详细记录。 (4)查全体学生的姓名及其出生年份。 (5)查询学校中有哪些系。

(6)查询选修了课程的学生学号。 (7)查询所有年龄在20岁以下的学生姓名及其年龄。 (8)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 (9)查询年龄不在20~23岁之间的学生姓名、系别和年龄。 (10)查询信息系、数学系和计算机科学系生的姓名和性别。 (11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。

(12)查询所有姓刘学生的姓名、学号和性别。 (13)查询学号为2009011的学生的详细情况。(具体的学号值根据表中数据确定) (14)查询姓“欧阳”且全名为三个汉字的学生姓名 (15)查询名字中第2个字为“晨”字的学生的姓名和学号 (16)查询所有不姓刘的学生姓名。 (17)查询sql课程的课程号和学分。 (18)查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况。

SQL试题与答案

SQL试题与答案 第一章SQL SERVER系统概述 选择题 1、SQL Server 2000是一个基于______的关系数据库管理系统。 A)B/S模式 B)C/S模式 C)SQL模式 D)以上都不是 (B) 2、SQL Server 2000 企业版可以安装在_________操作系统上。 A) Microsoft Windows 98 B) Microsoft Windows Me 和XP C) Microsoft Windows 2000 Professional D) Microsoft Windows NT (D) 3、SQL Server 2000 属于_________数据库系统。 A 、层次型 B 、网状型 C 、关系型 D 、面向对象型 (C) 4、Microsoft公司的SQL Server2000数据库管理系统一般只能运行于_________。 A. Windows平台 B. UNIX平台 C. LINX平台 D. NetWare平台 (A) 5、如果在SQL Server2000上运行一个非常大的数据库,为取得

较好效果应选用安装_________。 A. 企业版 B. 标准版 C. 个人版 D. 开发版 (A) 填空题 1、在SQL Server2000中主要是通过使用______________运行Transact-SQL语句。(查询分析器) 2、SQL Server2000包括、、和四个版本。(企业版;标准版;开发版;个人版;) 3、SQL Server 2000是一种大型的型数据库管理系统。(关系) 4、SQL Server2000数据库应用的处理过程分布在____ 和服务器上。(客户机) 5、SQL Server2000服务器可以被多台客户机访问,数据库服务器仅返回客户端应用程序所需要的数据,这样做的好处是可以减少____ 。(网络流量) 6、SQL Server2000服务管理器程序的主要作用是启动、 __ 、 __ 服务器。(停止、暂停) 7、SQL Server2000提供的最常用的管理工具是______________和______________。(企业管理器查询分析器) 简答题: 1、简述客户机/服务器模式。 解答: 客户机在运行用户的应用程序时,向数据库服务器发出数据请求,数据库服务器接受客户机发出的数据请求,并将处理的结果返回客户端,这就形成了所谓的客户机/服务器体系结构。 2、【SQL Server企业管理器】的作用是什么? 解答: 【SQL Server企业管理器】是SQL Server 2000的一个最重要的

SQL语句练习及答案

sql语句练习题1 数据库有如下四个表格: student(sno,sname,sage,ssex,sdpt) 学生表 系表(dptno,dname) course(cno,cname, gradet, tno) 课程表 sc(sno,cno,score) 成绩表 teacher(tno,tname) 教师表 要求:完成以下操作 1.查询姓"欧阳"且全名为三个汉字的学生的姓名。 select sname from student where sname like “欧阳__‟; 2.查询名字中第2个字为"阳"字的学生的姓名和学号。 select sname,sno from student where sname like '_阳%'; 3.查询所有不姓刘的学生姓名。 select sname,sno,ssex from student where sname not like “刘%”; 4.查询db_design课程的课程号和学分。 select cno,ccredit from course where cname like 'db_design' 5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。 select * from course where cname like 'db%i_ _'; 6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩 的学生的学号和相应的课程号。 select sno,cno from sc where grade is null;

7.查所有有成绩的学生学号和课程号。 select sno,cno from sc where grade is not null; 8.查询计算机系年龄在20岁以下的学生姓名。 select sname from student where sdept= 'cs' and sage<20; 9.查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 select sno,grade from sc where cno= ' 3 ' order by grade desc; 10.查询学生总人数。 select count(*) from student; 11.查询选修了课程的学生人数。 select count(distinct sno) from sc; 12.计算1号课程的学生平均成绩。 select avg(grade) from sc where cno= ' 1 '; 13.查询选修1号课程的学生最高分数。 select max(grade) from sc where cno= ' 1 '; 14.查询学生200215012选修课程的总学分数。 select sum(grade) from sc,course where sno= ' 200215012 ' and https://www.360docs.net/doc/7319326089.html,o=https://www.360docs.net/doc/7319326089.html,o; 15.查询选修了3门以上课程的学生学号。 select sno from sc group by sno having count(*) >3; 16.查询每个学生及其选修课程的情况。

相关文档
最新文档