第三部分 习题及参考解答
12. 在SQL语言中,删除视图的语句是______。
A. ALTER VIEW B. DROP VIEW
C. ZAP VIEW D. DELETE VIEW
13. 在SELECT-SQL语句中,不能使用的函数是_______。 A. AVG B. COUNT C. SUM D. EOF
14. 在进行SQL查询时,用WHERE子句指出的是______。
A. 查询结果 B. 查询条件
C. 查询视图 D. 查询目标
15.SQL中的INSERT语句可以用于_______。
A. 插入一条记录
B. 插入一个字段 C. 插入一个索引
D. 插入一个表
16. 在SELECT-SQL语言中,______子句相当于关系中的投影运算。
A. WHERE B. JOIN C. FROM
D. SELECT
17. 在SELECT_SQL语句中,要将查询结果保存在文本文件中的选项是______。
A. INTO<新表名>
B. TO FILE<文件名> C. TO PRINTER
D. TO SCREEN
18. 不属数据定义功能的SQL语句是______。
A. CREAT TABLE
B. CREAT CURSOR
C. UPDATE D. ALTER TABLE
19. 在使用命令“INSERT INTO<表名>[(列名…)]VALUSE(<值>)”时,下列描述中错误的
是______。
A. INSERT-SQL语句中列名的顺序可以与表定义时的列名顺序一致 B. INSERT-SQL语句中列名的顺序可以与表定义时的列名顺序不一致
C. INSERT-SQL语句中值的顺序可以与列名的顺序不一致 D. INSERT-SQL语句中值的顺序必须与列名的顺序一致
20. 将表STUD中性别为“男”的学生的“年龄”加1,能实现此功能的语句是_______。 A. SELECT 年龄+1 FROM STUD WHERE性别=“男”
第三部分 习题及参考解答
B. ALTER STUD.年龄WITH年龄+1 WHERE性别=“男” C. UPDATE STUD SET 年龄=年龄+1 WHERE性别=“男”
D. UPDATE STUD 年龄 WITH 年龄+1 WHERE性别=“男”
21. 在SELECT语句中,如果要对输出的记录进行排序,应该使用_______。
A. ORDER B. GROUP
C. HAVING D. TOP
22. 删除学生表STUD中关于学号XH必须取唯一值的约束。实现该功能的正确SQL语句是_______。
A. ALTER TABLE STUD ADD XH UNIQUE B. ALTER TABLE STUD MODIFY XH UNIQUE
C. ALTER TABLE STUD DROP UNIQUE(XH) D. ALTER FABLE STUD MODIFY UNIQUE(XH)
23. 用SQL语句建立表时为属性定义有效性规则,应使用短语______。 A. DEFAULT
B. PRIMAYR KEY
C. CHECK D. UNIQUE
24. 设有学生表:STUD(学号,姓名,性别,年龄,专业),把学号为“20030019”的学生从
该表中删除的语句是______。 A. DELETE STUD WHERE学号=“20030019”
B. DELETE FROM STUD WHERE学号=“20030019” C. DELETE TABLE STUD WHERE学号=“20030019”
D. DELETE FROM WHERE学号=“20030019”
25. 查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句
是_____。
A. SELECT职员号FROM订单GROUP BY职员号; HAVING COUNT(*)>3 AND AVG_金额>200 B. SELECT职员号FROM订单GROUP BY职员号; HAVING COUNT(*)>3 AND AVG(金额)>200
C. SELECT职员号FROM订单GROUP BY职员号;
HAVING COUNT(*)>3 WHERE AVG(金额)>200
D. SELECT职员号FROM订单GROUP BY职员号; WHERE COUNT(*)>3 AND AVG_金额>200
26. 显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确
的SQL语句是_______。
A. SELECT订单号,客户名,签订日期FROM订单JOIN客户;
ON订单.客户号=客户.客户号WHERE签订日期>{^2005—1—1} B. SELECT订单号,客户名,签订日期FROM订单JOIN客户;
第三部分 习题及参考解答
WHERE订单.客户号=客户.客户号AND签订日期>{^2005—1—1} C. SELECT订单号,客户名,签订日期FROM订单,客户;
WHERE订单.客户号=客户.客户号AND签订日期<{^2005—1—1}
D. SELECT订单号,客户名,签订日期FROM订单,客户; ON订单.客户号=客户.客户号AND签订日期<{^2005-1-1}
27. 显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是_______。 A. SELECT职员.职员号,姓名FROM职员JOIN订单;
ON订单.职员号=职员.职员号GROUP BY职员.职员号; HAVING COUNT(*)=0
B. SELECT职员.职员号,姓名FROM职员LEFT JOIN订单; ON订单.职员号=职员.职员号GROUP BY职员.职员号; HAVING COUNT(*)=0
C. SELECT职员号,姓名FROM职员;
WHERE职员号NOT IN(SELECT职员号FROM订单)
D. SELECT职员.职员号,姓名FROM职员;
WHERE职员.职员号<>(SELECT订单.职员号FROM订单)
28. 用SQL语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平
均成绩降序排序,正确的命令是_______。
A. SELECT S.学号,姓名,平均成绩FROM S,sc; WHERE S.学号=SC.学号;
GROUP BY S.学号HAVING COUNT(*)>=5 ;
0RDER BY平均成绩DESC
B. SELECT学号,姓名,AVG(成绩) AS 平均成绩 FROM S,SC; WHERE S.学号=SC.学号;
GROUP BY S.学号HAVING COUNT(*)>=5; 0RDER BY 3 DESC
C. SELECT S.学号,姓名,AVG(成绩) 平均成绩FROM S,SC; WHERE S.学号=SC.学号AND COUNT(*)>=5; 0RDER BY 3 DESC
D. SELECT学号,姓名,AVG(成绩) FROM S,SC;
WHERE S.学号=SC.学号AND COUNT(*)>=5; GROUP BY学号0RDER BY 3 DESC
29. 将订单号为“0060”的订单金额改为169元,正确的SQL语句是_______。 A. UPDATE订单SET 金额=169 WHERE订单号=“0060” B. UPDATE订单SET金额WITH 169 WHERE订单号=“0060” C. UPDATE FROM订单SET金额=169 WHERE订单号=“0060”
D. UPDATE FROM订单SET金额WITH 169 WHERE订单号=“0060”
30. 设有关系:S(学号,姓名,性别)、C(课程号,课程名)、sc(学号,课程号)。实现查询选
修“会计学”课的所有女生姓名的SQL语句是“SELECT FROM S,C,SC WHERE<条件>”。
该语句中的<条件>的正确表示是______。
第三部分 习题及参考解答
A. S.学号==SC.学号AND性别=“女”AND课程名==“会计学”
B. S.学号==SC.学号AND C.课程号==SC.课程号AND课程名==“会计学” C. 性别==“女”AND课程名==“会计学”
D. S.学号==SC.学号AND C.课程号==SC.课程号;AND性别==“女”AND课程 名==“会计学”
二、填空题
1.在SELECT-SQL语句中,表示条件表达式用WHERE子句,分组用______子句,排序用
______子句。 2.在SQL中,测试列值是否为空值用______运算符号,测试列值是否为非空值用______运算符号。 3.在SQL中,用______子句消除重复出现的元组。
4.在SQL中,ALTER命令有两个选择项,_____子命令用于修改字段名,_____子命令用于
增加新的字段。 5.在SQL中,字符串匹配运算符用______;匹配符______表示零个或多个字符,______表
示任何一个字符。
6.SQL SELECT语句为了将查询结果存放到临时表中应该使用_____短语。
7.在SQL语句中空值用______表示。
8.在SQL中,用______命令可以从表中删除行,用______命令可以从数据库中删除数据表。 9.______是指只有满足连接条件的记录才包含在查询结果中。 10.SQL支持集合的并运算,运算符是______。
11.设有图书管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)) 读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8)) (1)用SQL的CREATE命令建立借阅表(字段顺序要相同)。请用SQL语句填空:______ (2)对于图书管理数据库,查询每类图书的册数和平均单价。请对下面的SQL语句填空:
SELECT 分类号,______FROM 图书;
______ 分类号
(3)对于图书管理数据库,要查询只借阅了一本图书的读者姓名和职称。请对下面的SQL语句填空:
SELECT 姓名,职称 FROM 图书管理!读者
WHERE 借书证号 ______ (SELECT 借书证号 FROM 图书管理!借阅); GROUP BY ______ HAVING ______
(4)为图书管理数据库的读者表增加工资属性(N(8,2))。请对下面的SQL语句填空: ______
(5)对于图书管理数据库的读者表,为工资属性增加有效性规则(工资大于等于0)和出错提示信息(工资应该大于等于0!)。请对下面的SQL语句填空:
ALTER TABLE 读者 ALTER 工资 ______
(6)对于图书管理数据库,查询每类图书中多于1册的册数和平均单价。请对下面的
第三部分 习题及参考解答
SQL语句填空:
SELECT 分类号,COUNT(*),AVG(单价) FROM 图书; _______ 分类号 _______
(7)对图书管理数据库,查询图书表中的所有元组。请对下面的SQL语句填空:
______
(8)对图书管理数据库,查询所有已借出的书名。请对下面的SQL语句填空:
SELECT 书名 FROM 图书; WHERE 总编号 ______
(9)对于图书管理数据库,检索书名是以“Internet”开头的所有图书书名和作者。请对下面的SQL语句填空:
SELECT 书名,作者 FROM 图书 WHERE ______
(10)对于图书管理数据库,检索没有借阅任何图书的读者姓名和所在单位。请对下面的SQL语句填空:
SELECT 姓名,单位 FROM 读者 WHERE _______;
(SELECT * FROM 借阅 WHERE ______)
(11)对图书管理数据库,删除借阅表的候选索引hsxy。请对下面的SQL语句填空:
ALTER TABLE 借阅 ______ (12)要查询借阅了两本和两本以上图书的读者姓名和单位。请对下面的SQL语句填空。
SELECT 姓名,单位 FROM 图书管理!读者; WHERE 借书证号 IN
(SELECT ______ FROM 图书管理!借阅 GROUP BY 借书证号 _____COUNT(*)>=2) (13)对于图书管理数据库,查询与“005”号借书证借有相同书的借书证号。请对下
面的SQL语句填空:
SELECT DISTINCT 借书证号 FROM 借阅 WHERE 总编号 ______ (14)对图书管理数据库,将读者表中的借书证号属性名改为书证号。请对下面的SQL语句填空:
ALTER TABLE 读者 ______
(15)对图书管理数据库的借阅表,将借书证号和总编号定义为借阅表的候选索引,索引名是hxsy。请对下面的SQL语句填空:
ALTER TABLE 借阅 ______
(16)对于图书管理数据库,将图书表中电子工业出版社的图书的单价涨价10%。请对下面的SQL语句填空:
UPDATE 图书 ______ WHERE 出版单位=“电子工业出版社” (17)有如下SQL语句:
SELECT 读者.姓名,读者.职称,图书.书名,借阅.借书日期;
FROM图书管理!读者,图书管理!借阅,图书管理!图书;
WHERE借阅.借书证号=读者.借书证号 AND 图书.总编号=借阅.总编号
其中WHERE子句中的“借阅.借书证号=读者.借书证号”对应的关系操作是 _____。