SQL题目 帮忙做下..

本题用到下面三个关系表:
CARD 借书卡。 CNO 卡号(主键),NAME 姓名,CLASS 班级
BOOKS 图书。 BNO 书号(主键),BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。

要求实现如下10个处理:
1.创建数据库test,创建三张表card,books,borrow,分别向每张表中添加至少五条记录。
要求:在创建每个表时,注意相应的主键约束和外键约束的定义。

2.找出借书超过5本的读者,输出借书卡号及所借图书册数

3.查询借阅了"数据结构"一书的读者,输出姓名及班级

4. 查询书名包括"数学"关键词的图书,输出该书的书号、书名、作者

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

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

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

8.假定在建BOOKS2表时没有定义主码,写出为BOOKS2表追加定义主码的语句

9.对CARD表做如下修改:
a. 将NAME最大列宽增加到10个字符(假定原为20个字符)。
b. 为该表增加1列dept(系名),最大20个字符

10.创建一个触发器,反映库存册数数量随借书增加而变化

第1个回答  推荐于2018-04-21
--创建数据库
create database test
go
--使用数据库
use test
go
--创建借书卡表
create table CARD
(
CNO int primary key,--卡号
NAME varchar(20),--姓名
CLASS int --班级
)
--创建图书表
create table BOOKS
(
BNO int primary key--书号
BNAME varchar(20),--书名
AUTHOR varchar(20),--作者
PRICE float,--单价
QUANTITY int--库存册数
)
--创建借书记录表
create table BORROW
(
CNO references CARD(CNO),--借书卡号
BNO references BOOKS(BNO),--书号
RDATE datetime--还书日期
)
--添加借书卡信息
insert into CARD values(10001,'关羽',0701)
insert into CARD values(10002,'张飞',0702)
insert into CARD values(10003,'赵云',0703)
insert into CARD values(10004,'马超',0704)
insert into CARD values(10005,'黄忠',0705)
--添加图书信息
insert into BOOKSvalues values(101,'孙子兵法','诸葛亮',49,5)
insert into BOOKSvalues values(102,'数据结构','诸葛亮',18,4)
insert into BOOKSvalues values(103,'青冥剑','诸葛亮',10,3)
insert into BOOKSvalues values(104,'数学','诸葛亮',10,2)
insert into BOOKSvalues values(105,'炎黄战靴','诸葛亮',50,0)
--添加借书记录信息
insert into BORROW values(10001,101,'1989-11-08')
insert into BORROW values(10002,102,'1987-6-30')
insert into BORROW values(10003,103,'1989-5-13')
insert into BORROW values(10004,104,'2010-11-03')
insert into BORROW values(10005,105,'2008-8-8')
--找出借书超过5本的读者,输出借书卡号及所借图书册数
select NAME,count(BNO),CNO from BORROW,CARD,BOOKS
where BORROW.CNO = CARD.CNO and BORROW.BNO = BOOKS.BNO
and count(BNO) >5
--查询借阅了"数据结构"一书的读者,输出姓名及班级
select Name,CLASS from CARD,BOOKS
where BOOKS.BNAME = '数据结构'
--查询书名包括"数学"关键词的图书,输出该书的书号、书名、作者
select BNO,BNAME,AUTHOR from BOOKS where BNAME like '%数学%'
--查询现有图书中价格最高的图书,输出书名及作者
select BNAME,AUTHOR,price from BOOKS order by PRICE desc
--将"0701"班同学所借图书的还期都延长一周
select * as '还书日期' from CARD where class = '0701' and RDATE = between '1989-11-08' and '1989-11-15'本回答被提问者和网友采纳

SQL题目 帮忙做下..
--创建数据库 create database test go --使用数据库 use test go --创建借书卡表 create table CARD (CNO int primary key,--卡号 NAME varchar(20),--姓名 CLASS int --班级 )--创建图书表 create table BOOKS (BNO int primary key--书号 BNAME varchar(20),--书名 AUTHOR varchar(...

帮忙做下这些SQL题目
操作题:1、select 学号,姓名,年龄 from 学生 where 学号='S!'2、select distinct S.学号,count(SC.课程号) from 学生 S ,学生选课表 SC where S.学号 = SC.学号 group by S.学号 3、(1)create table 教师表(编号 char(6)primary key,姓名 varchar(20)not null ,性别 char(2),...

sql数据库一道试题帮忙做做
---1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 CREATE TABLE student ([id] [int] IDENTITY(1,1) NOT NULL,[student_id] [nvarchar](50) NULL,[studen_name] [nvarchar](50) NULL,[age] [int] NULL ,[sex] [nvarchar](5) NULL,[address] [nvarcha...

SQL补考题,请人帮忙做下
sql 代码;1.create table 图书 (书号 varchar(10) not null,书名 varchar(20) not null,作者姓名书名 varchar(20) not null )2.insert into 销售 select '20010016','2009052035','2009-2-9',38 3.alter table 图书 alter 出版日期 Datetime not null 4.update 书店 set 地址='泉州市' ...

连表查询的sql数据库题,帮忙做一下
select count(*) as 班级数量 from 表名 where 年纪=‘00级’你应该给出表名和字段名我们更好做,也就是表结构啊

计算机access作业 写sql语句,哪位大神帮忙写下作为参考,先谢谢了_百 ...
select max(工资) as a12,min(工资) as a13 from pay 10)统计“pay”表中男性未婚职工的平均工资,新字段名为 a14。select AVG(工资) as a14 from pay where 性别='男' and 婚姻状况='未婚'11)统计“pay”表中教务处或学生处人员的工资、补助之和,分别以字段名 a15、a16 输出。select SUM...

SQL SERVER 2005 的一个题目 帮忙做一下 100分
select * from [某门课任课教师]('SQL Server数据库')5.create procedure 统计课时数 as select 最大课时数=max(课时) ,最小课时数=min(课时),平均课时数=avg(课时) from 任课表 go execute 统计课时 6.create procedure 统计课时 教师名 nchar(16),as begin declare @总课时 int select @...

使用SQL命令完成下列操作
太简单了,没时间做呀。追问:帮帮忙呀 举手之劳 用文字描述下额 谢谢拉 麻烦拉 回答:1.建立students数据库,数据文件名与日志文件名、初始大小采用默认的方式,两文件均存放在D盘的USER目录中,增长率均为10%,最大尺寸无限。USE MASTER GO IF EXISTS(SELECT FROM SYSDATABASES WHERE NAME='...

SQL题目,求高手帮忙100分。
三张表的关系如下:1.学生表保存学生信息,课程表保存课程信息,选课表保存学生与课程的对应关系。2.增删学生表,不会改变课程表,反过来也一样。3.删除某个学生时,同时删除选课表中相应的学生信息。4.删除某个课程时,同时删除选课表中相应的课程信息。三张表的设计如下 学生表(S)SNO 学号 SNAME ...

SQL作业问题。。。帮帮忙啊。。
SELECT b.STKCODE,b.STKFIRM,b.STKPRICE*a.Exchange_Rate AS STKPRICE_NEW FROM nation a ,stockinfo b WHERE b.natcode=a.natcode ORDER BY b.natcode,b.STKFIRM ii. Report by nation the total value of stockholdings.SELECT NATCODE, sum(STKPRICE*STKQTY) AS Tal_stockholdings FROM ...

相似回答