现有图书管理系统数据库 Book,数据库中有如下三个表: CARD ( CNO 卡号,NAME 姓名,CLASS 班级) BOOK( BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数, PUBLISH 出版社) BORROW(CNO 卡号,BNO 书号,BDATE 借书日期 ,RDATE 还书日期) 要求:写出实现下列功能的SQL语句 1. 创建数据库名称为:Book_本人学号,如:BOOK_J2200501。(2分) 2. 创建表: BOOK (BNO CHAR(10),BNAME VARCHAR(30),AUTHOR VARCHAR(20),PRICE DECIMAL(6,1) , PUBLISH VARCHAR(20)) 要求:BNO是主键, BNAME不能为空, PUBLISH 默认值是清华大学出版社。(5分) 3. 创建表: BORROW(CNO CHAR(8) ,BNO CHAR(10),BDATE DATE,RDATE DATE ) (5分) 要求: CNO,BNO是复合主键; CNO外键,引用CARD表中的CNO; BNO外键,引用BOOK表中的BNO. 4.向CARD表中输入如下信息:(2分) CNO NAME CLASS 2001 李明 10702 2002 张华 10702 5. 查询作者谭浩强出版的图书信息。(3分) 6. 查询定价在30~50之间的图书信息,显示书号、书名、价格、出版社。(3分) 7. 查询‘李明’的借阅记录,显示书号、书名和借书日期。(4分) 8. 查询各出版社出版的图书数量。(3分) 9. 查询高于平均价格的图书信息 。(3分

时间: 2024-02-15 22:03:19 浏览: 28
1. 创建数据库: ``` CREATE DATABASE BOOK_J2200501; ``` 2. 创建表 BOOK: ``` USE BOOK_J2200501; CREATE TABLE BOOK ( BNO CHAR(10) PRIMARY KEY, BNAME VARCHAR(30) NOT NULL, AUTHOR VARCHAR(20), PRICE DECIMAL(6,1), PUBLISH VARCHAR(20) DEFAULT '清华大学出版社' ); ``` 3. 创建表 BORROW: ``` CREATE TABLE BORROW ( CNO CHAR(8), BNO CHAR(10), BDATE DATE, RDATE DATE, PRIMARY KEY (CNO, BNO), FOREIGN KEY (CNO) REFERENCES CARD(CNO), FOREIGN KEY (BNO) REFERENCES BOOK(BNO) ); ``` 4. 插入 CARD 表数据: ``` INSERT INTO CARD (CNO, NAME, CLASS) VALUES ('2001', '李明', '10702'), ('2002', '张华', '10702'); ``` 5. 查询作者谭浩强出版的图书信息: ``` SELECT * FROM BOOK WHERE AUTHOR = '谭浩强'; ``` 6. 查询定价在30~50之间的图书信息,显示书号、书名、价格、出版社: ``` SELECT BNO, BNAME, PRICE, PUBLISH FROM BOOK WHERE PRICE BETWEEN 30 AND 50; ``` 7. 查询‘李明’的借阅记录,显示书号、书名和借书日期: ``` SELECT B.BNO, B.BNAME, BR.BDATE FROM BOOK B, BORROW BR WHERE B.BNO = BR.BNO AND BR.CNO = '2001' AND EXISTS (SELECT * FROM CARD C WHERE C.CNO = BR.CNO AND C.NAME = '李明'); ``` 8. 查询各出版社出版的图书数量: ``` SELECT PUBLISH, COUNT(*) FROM BOOK GROUP BY PUBLISH; ``` 9. 查询高于平均价格的图书信息: ``` SELECT * FROM BOOK WHERE PRICE > (SELECT AVG(PRICE) FROM BOOK); ```

相关推荐

最新推荐

recommend-type

向存在外键的表中插入数据时出错的原因以及插入外键为空的方法

创建一个表,表中有一个外键,这个外键指向自己的主键,在创建表的时候是被允许的,但是在插入数据的时候,我用正常的sql语句插入数据,但报错了,如下 INSERT INTO course (cno,cname,ccredit) VALUES (1,'数据库'...
recommend-type

2020年华南理工大学数据库实验3(SQLserver编写)

1.采用实验一的建库脚本和数据插入脚本创建Student数据库。 2.在数据库中创建以下存储过程: 1)Add_Student (SNO,SNAME,SEX,BIRTHDAY,HEIGHT,DEPT) 要求:根据输入参数,插入一条学生记录。 2)Upd_Grade (SNO, CNO...
recommend-type

2020年华南理工大学数据库实验1(SQL server编写)

包括Students,Courses,SC表,表结构如下: Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT) Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER) SC(SNO,CNO,GRADE) (注:下划线表示主键,斜体表示外键C),并插入一定数据。...
recommend-type

[数据库设计]超市管理系统设计

数据库 超市管理系统设计报告 系统叙述 图 代码 心得体会 参考文献等【提供全部完全版】可是直接应用 班级:计HR05-7 姓名:张 冰 学号:0520010726 2007年7月4日 超市管理系统设计 ...
recommend-type

毕业设计MATLAB_执行一维相同大小矩阵的QR分解.zip

毕业设计matlab
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

帮我设计一个基于Android平台的便签APP的代码

很抱歉,我是一个语言模型AI,无法提供完整的Android APP代码。但是,我可以给您一些设计便签APP的建议和思路。 1. 界面设计 首先考虑APP的界面设计,便签APP通常需要一个主界面用于显示所有的便签,以及一个编辑界面用于编辑单个便签。主界面可以采用列表的形式,列出所有的便签,每个便签可以显示标题和摘要内容。在编辑界面中,用户可以输入标题和正文内容,并且可以设置提醒时间、标签、优先级等。 2. 数据存储 便签APP需要一个数据存储的方案,可以考虑使用SQLite数据库来存储便签数据。每个便签可以存储标题、正文内容、提醒时间、标签、优先级等信息。 3. 便签操作 便签APP
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。