数据库复习资料复习题

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

SQL语句复习题

设有一图书馆数据库,包括三个表:图书表、读者表、借阅表。

图书表 (图书号,书名,作者,出版社,单价)

读者表 (读者号,姓名,性别,部门)

借阅表 (读者号,图书号,借出日期,归还日期)

试用SQL的查询语句表达下列查询:

(1)查询全体图书的图书号,书名,作者,出版社,单价。

(2)查询机械工业出版社图书的平均价格、最高价、最低价。

(3)查询读者的读者号、姓名、借阅的图书名、借出日期、归还日期。

(4)查询借阅图书本数超过2本的读者号、总本数。并按借阅本数值从大到小排序。(5)查询’科学出版社’的图书中单价比’机械工业出版社’最高单价还高的的图书书名、单价。

(6)查询已被借阅过并已归还的图书信息。

(7)给图书表增加一列“ISBN”,数据类型为CHAR(10)

(8)向读者表加入一个新读者,该读者的信息为:

(‘200197’, ‘王小平’, ‘男’ , ’物理系’)

(9)完成读者’王小平’在借出一本图书10日后归还该书的归还日期的更新。(10)当读者’王小平’按期归还图书时,删除借阅记录。

答案:

(1) SELECT 图书号,书名,作者,出版社,单价

FROM 图书

或者

SELECT * FROM 图书

(2) SELECT AVG(单价)AS‘平均价’,MAX(单价)AS‘最高价’, MIN(单价)AS‘最低价’

FROM 图书

WHERE 出版社=’机械工业出版社’

(3) SELECT 读者.读者号,姓名,书名,借出日期,归还日期

FROM 读者,图书,借阅

WHERE 读者.读者号 = 借阅.读者号 AND 图书.图书号=借阅.图书号

(4) SELECT 读者号,COUNT(图书号) AS ‘总本数’

FROM 借阅

GROUP BY 读者号

HAVING COUNT(*) > 2

ORDER BY COUNT(图书号) DESC

(5) SELECT 图书号,单价 FROM 图书

WHERE 出版社=’科学出版社’ AND 单价>(

SELECT MAX(单价) FROM 图书 WHERE 出版社=’机械工业出版社’)

或者

SELECT 图书号,单价 FROM 图书

WHERE 出版社='科学出版社' AND 单价>ALL (

SELECT 单价 FROM 图书 WHERE 出版社='机械工业出版社')

(6) SELECT * FROM 图书

WHERE 图书号 IN (SELECT 图书号 FROM 借阅 WHERE 归还日期 IS NOT NULL)

或者

SELECT * FROM 图书 B1

WHERE EXISTS (SELECT * FROM 借阅 B2

WHERE B1.图书号=B2.图书号 AND 归还日期 IS NOT NULL)

(7) ALTER TABLE 图书

ADD ISBN CHAR(10)

(8) INSERT INTO 读者

VALUES (‘200197’, ‘王小平’, ‘男’, ‘物理系’)

(9) UPDATE 借阅

SET 归还日期= 借出日期 + 10

WHERE 读者号=(SELECT 读者号 FROM 读者 WHERE 姓名=’王小平’ ) (10) DELETE FROM 借阅

WHERE 读者号=(SELECT 读者号 FROM 读者

WHERE 姓名= ‘王小平’ )

三、判断题

1、能惟一标识元组的属性集称为主键。(√)

2、触发器是属于某个表的。(√)

3、视图定义后,其中的数据就存储在视图中。(×)

4、恢复数据,可以在查询分析器中使用这样的命令:

BACKUP DATABASE database_name FROM backup ( × )

5、数据库系统的核心组成部分是数据库管理系统。(√)

6、数据独立性是指数据之间相互独立。(×)

7、sql server2000是关系模型的数据库管理系统。(√)

8、数据库的保护涉及三个方面的问题,即数据库的私用性、安全性和完整性。(√)

9、在创建表的SQL语句中,CHECK子句规定了一个规则,即一个表的一个列或多列的组合只能包含在这个规则定义的集合之内的值。(√)

11、HAVING子句常用于在计算出聚集之后对行的查询进行控制。(√)

12、能惟一标识元组的属性集称为外键。(×)

13、在SQL SERVER 2000中,执行备份操作时允许用户创建索引。(×)

14、数据库建立后只可以改变数据库文件的名称,不可以改变日志文件的名称。(×)

15、EXEC与EXECUTE在执行存储过程时是不同的。(×)

16、纯量函数是进行垂直方向计算的,产生的结果是一个单值。(×)

17、当一个用户登录到sqlserver上后,不一定可以建立数据库和表。

成功。((√))

18、GROUP BY 子句总是跟在WHERE 子句后面,当WHERE子句缺省时,不能出现

GROUP BY子句。(×)

19、使用DROP语句撤销一个SQL模式时,其下属的基本表、视图等元素总是自动撤

销。(×)

20、触发器不能返回任何结果。(√)

21、数据的不一致性可以分成以下四种类型:丢失修改、修改未提交的数据、脏数据的读取和不可重复读取。(√)

相关文档
最新文档