打印本文 打印本文 关闭窗口 关闭窗口
SQL Server 练习题3
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3430  更新时间:2007/11/14 13:07:10  文章录入:mintao  责任编辑:mintao
--实现代码:
SELECT BNO,BNAME,AUTHOR FROM BOOKS
WHERE BNAME LIKE N''''%网络%''''

6. 查询现有图书中价格最高的图书,输出书名及作者

--实现代码:
SELECT BNO,BNAME,AUTHOR FROM BOOKS
WHERE PRICE=(
    SELECT MAX(PRICE) FROM BOOKS)

7. 查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出

--实现代码:
SELECT a.CNO
FROM BORROW a,BOOKS b
WHERE a.BNO=b.BNO AND b.BNAME=N''''计算方法''''
    AND NOT EXISTS(
        SELECT * FROM BORROW aa,BOOKS bb
        WHERE aa.BNO=bb.BNO
            AND bb.BNAME=N''''计算方法习题集''''
            AND aa.CNO=a.CNO)
ORDER BY a.CNO DESC

8. 将"C01"班同学所借图书的还期都延长一周

--实现代码:
UPDATE b SET RDATE=DATEADD(Day,7,b.RDATE)
FROM CARD a,BORROW b
WHERE a.CNO=b.CNO
    AND a.CLASS=N''''C01''''

9. 从BOOKS表中删除当前无人借阅的图书记录

--实现代码:
DELETE A FROM BOOKS a
WHERE NOT EXISTS(
    SELECT * FROM BORROW
    WHERE BNO=a.BNO)

10. 如果经常按书名查询图书信息,请建立合适的索引

--实现代码:
CREATE CLUSTERED INDEX IDX_BOOKS_BNAME ON BOOKS(BNAME)

11. 在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)

--实现代码:
CREATE TRIGGER TR_SAVE ON BORROW
FOR INSERT,UPDATE
AS
IF @@ROWCOUNT>0
INSERT BORROW_SAVE SELECT i.*
FROM INSERTED i,BOOKS b
WHERE i.BNO=b.BNO
    AND b.BNAME=N''''数据库技术及应用''''

12. 建立一个视图,显示"力01"班学生的借书信息(只要求显示姓名和书名)

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口