万常选数据库第3章参考答案.doc
文本预览下载声明
万常选数据库第3章参考答案
SET NOCOUNT ON
SET DATEFORMAT YMD
USE master
GO
--创建数据库BookDB
IF EXISTS SELECT * FROM sysdatabases WHERE name BookDB
DROP DATABASE BookDB
GO
CREATE DATABASE BookDB
GO
USE BookDB
GO
--创建图书分类表BookClass
CREATE TABLE BookClass
classNo char 3 PRIMARY KEY, /*分类号*/
className char 20 NOT NULL /*分类名称*/ GO
--创建图书表Book
CREATE TABLE Book
bookNo char 10 PRIMARY KEY, /*图书编号*/
classNo char 3 NOT NULL /*分类号*/ FOREIGN KEY REFERENCES BookClass,
bookName varchar 40 NOT NULL, /*图书名称*/
authorName char 8 NOT NULL, /*作者姓名*/
publishingName varchar 20 NOT NULL, /*出版社名称*/
publishingNo char 17 NOT NULL, /*出版号*/
price numeric 7,2 NOT NULL, /*单价*/
publishingDate datetime NOT NULL, /*出版时间*/
shopDate datetime NOT NULL, /*入库时间*/
shopNum int NOT NULL /*入库数量*/ GO
--创建读者表Reader
CREATE TABLE Reader
readerNo char 8 PRIMARY KEY, /*读者编号*/
readerName char 8 NOT NULL, /*姓名*/
sex char 2 NOT NULL, /*性别*/
identitycard char 18 NOT NULL, /*身份证号*/
workUnit varchar 50 NULL /*工作单位*/ GO
--创建借阅表Borrow
CREATE TABLE Borrow
readerNo char 8 NOT NULL, /*读者编号*/
bookNo char 10 NOT NULL, /*图书编号*/
borrowDate datetime NOT NULL, /*借阅日期*/
shouldDate datetime NOT NULL, /*应归还日期*/
returnDate datetime NULL, /*归还日期*/
FOREIGN KEY readerNo REFERENCES Reader,
FOREIGN KEY bookNo REFERENCES Book,
PRIMARY KEY readerNo,bookNo,borrowDate GO
--3.1 查询1991年出生的读者姓名、工作单位和身份证号。
SELECT readerName,workUnit,identitycard
FROM Reader
WHERE CONVERT int,SUBSTRING identitycard,7,4 1991
--3.2 查询在信息管理学院工作的读者编号、姓名和性别。
SELECT readerNo,readerName,sex CASE sex WHEN M THEN 男 WHEN F THEN 女 END
FROM Reader
WHERE workUnit 信息管理学院
--3.3 查询图书名中含有“数据库”的图书的详细信息。
SELECT *
FROM Book
WHERE bookName LIKE %数据库%
--3.4 查询吴文君老师编写的单价不低于40元的每种图书的图书编号、入库数量。
SELECT bookNo,shopNum
FROM Book
WHERE authorName 吴文君
AND price 40
--3.5 查询在2005——2008年之间入库的图书编号、出版时间、入库时间和图书名称,并按入库时间排序输出。
SELECT bookNo,bookName,publishingDate,shopDate
FROM Book
WHERE YEAR shopDate BETWEEN 2005 AND 2008
ORDER BY shopDate
--3.6 查询
显示全部