综合练习
- 数据库的相关信息及创建
- 1、增加两条图书信息
- 2、增加两条学生信息
- 3、增加一条借阅信息
- 4、修改学生“李华”所借的图书编号为“T02”的借阅状态为“超期”。
- 5、统计每个学生借了几本书,列出学号,借书本数。
- 6、统计出版日期在“2010-1-1”至“2015-12-31”之间的图书有多少本。
- 7、统计“2013”年级“电子商务”专业男生女生各有多少人。
- 8、统计“CS”系借书总数超过20本的学生的姓名。
- 9、列出“CS”系借书“超期”的学生的姓名和超期的书名。
- 10、统计每一个出版社出版了多少本书。
- 11、找出学生“李华”所借的图书。列出图书名,借阅日期和借阅状态。
- 12、找出“网页设计”这本书的借阅学生信息。列出系名,年级,专业,姓名。
数据库的相关信息及创建
表BookInfo
ISBN:图书编号,Bname:书名,Author:作者,Publish:出版社,Ptime:出版日期。
表Student
Sno:学号,Sname:姓名,Ssex:性别,Sdept:系名,Grade:年级,Profession:专业。
表Borrow
Sno:学号,ISBN:图书编号,Btime:借阅日期,Flag:借阅状态。
Create database myDB
GO
Use myDB
GO
create table BookInfo
(
ISBN varchar(30) primary key,
Bname varchar(20),
Author varchar(10),
Publish varchar(30),
Ptime smalldatetime
)
go
create table Student
(
sno varchar(10) primary key,
sname varchar(20) not null,
ssex varchar(2),
sdept varchar(50) ,
grade varchar(4),
profession varchar(50)
)
go
create table Borrow
(
sno varchar(10) ,
ISBN varchar(30),
Btime smalldatetime,
Flag varchar(10),
primary key(sno,ISBN)
)
go
1、增加两条图书信息
图书编号:T01、书名:数据库原理、作者:张三、出版社:清华大学出版社、出版日期:2014-10-1;
图书编号:T02、书名:网页设计、作者:李四、出版社:人民邮电出版社、出版日期:2014-5-1;
/*1、增加两条图书信息:
图书编号:T01、书名:数据库原理、作者:张三、
出版社:清华大学出版社、出版日期:2014-10-1;
图书编号:T02、书名:网页设计、作者:李四、
出版社:人民邮电出版社、出版日期:2014-5-1;*/
Use myDB
Go
insert into BookInfo values('T01','数据库原理','张三',
'清华大学出版社','2014-10-1')
insert into BookInfo values('T02','网页设计',
'李四','人民邮电出版社','2014-5-1')
2、增加两条学生信息
学号:S01、姓名:李华、性别:f、系别:CS、年级:2014、专业:电子商务;
学号:S02、姓名:莉莉、性别:m、系别:MA、年级:2013、专业:工商管理;
/*2、增加两条学生信息:
学号:S01、姓名:李华、性别:f、系别:CS、
年级:2014、专业:电子商务;
学号:S02、姓名:莉莉、性别:m、系别:MA、
年级:2013、专业:工商管理; */
Use myDB
Go
insert into Student values('S01','李华','f','CS','2014','电子商务')
insert into Student values('S02','莉莉','m','MA','2013','工商管理')
3、增加一条借阅信息
学生S01在2015年1月10日借阅T01,借阅状态为正常;
/*3、增加一条借阅信息:
学生S01在2015年1月10日借阅T01,借阅状态为正常; */
Use myDB
Go
insert into Borrow values('S01','T01','2015-1-10','正常')
4、修改学生“李华”所借的图书编号为“T02”的借阅状态为“超期”。
/*4、修改学生“李华”所借的图书编号为“T02”的借阅状态为“超期”。 */
Use myDB
Go
Update Borrow set Flag='超期'
where sno in(select sno from Student where sname='李华')
5、统计每个学生借了几本书,列出学号,借书本数。
/*5、统计每个学生借了几本书,列出学号,借书本数。 */
Use myDB
Go
select sno,count(*)借书本数
from Borrow
group by sno
6、统计出版日期在“2010-1-1”至“2015-12-31”之间的图书有多少本。
/*6、统计出版日期在“2010-1-1”至“2015-12-31”之间的图书有多少本。 */
Use myDB
Go
select count(*)书本数
from BookInfo
where Ptime between '2010-1-1'and '2015-12-31'
7、统计“2013”年级“电子商务”专业男生女生各有多少人。
/*7、统计“2013”年级“电子商务”专业男生女生各有多少人。 */
Use myDB
Go
select ssex,count(*)人数
from Student
where grade='2013'and profession='电子商务'
group by ssex
8、统计“CS”系借书总数超过20本的学生的姓名。
/*8、统计“CS”系借书总数超过20本的学生的姓名。 */
Use myDB
Go
select Student.sname
from Student,Borrow
where Student.sno=Borrow.sno and sdept='CS'
Group by Student.sname
having count(*)>20
9、列出“CS”系借书“超期”的学生的姓名和超期的书名。
/*9、列出“CS”系借书“超期”的学生的姓名和超期的书名。 */
Use myDB
Go
select Student.sname,BookInfo.Bname
from Student,Borrow,BookInfo
where Student.sno=Borrow.sno and sdept='CS'
and BookInfo.ISBN=Borrow.ISBN and Flag='超期'
10、统计每一个出版社出版了多少本书。
/*10、统计每一个出版社出版了多少本书。 */
Use myDB
Go
select Publish, count(*)出版书籍数量
from BookInfo
group by Publish
11、找出学生“李华”所借的图书。列出图书名,借阅日期和借阅状态。
/*11、找出学生“李华”所借的图书。列出图书名,借阅日期和借阅状态。 */
Use myDB
Go
select BookInfo.Bname,Borrow.Btime,Borrow.Flag
from Student,BookInfo,Borrow
where Student.sno=Borrow.sno and BookInfo.ISBN=Borrow.ISBN
and Student.sname='李华'
12、找出“网页设计”这本书的借阅学生信息。列出系名,年级,专业,姓名。
/*12、找出“网页设计”这本书的借阅学生信息。列出系名,年级,专业,姓名。 */
Use myDB
Go
select sdept,grade,profession,sname
from Student,BookInfo,Borrow
where Student.sno=Borrow.sno and BookInfo.ISBN=Borrow.ISBN
and BookInfo.Bname='网页设计'