数据库查询练习(一)

环境:Windows 10操作系统,SQL Server 2019开发平台。

根据数据库db_Book中的tb_BookInfo表、tb_ReaderInfo表、tb_BookType表、tb_LentInfo表,完成下列查询操作,各表结构如下:

书籍信息表(tb_BookInfo)

存储内容

存储书籍信息情况

字段名称

中文意义

数据类型

数据长度

其它

SJBH

书籍编号

varchar

50

NOT NULL

SJMC

书籍名称

varchar

50

NOT NULL

LBBH

类别编号

char

2

CBS

出版社

varchar

50

ZZ

作者

varchar

20

DJRQ

登记日期

Datetime

SFJC

是否借出

bit

读者信息表(tb_ReaderInfo)

存储内容

存储读者基本信息情况

字段名称

中文意义

数据类型

数据长度

其它

DZBH

编号

char

12

主键

DZMC

姓名

varchar

50

NOT NULL

BZSJ

办证日期

Datetime

默认getdate()

LXDH

联系电话

varchar

30

NOT NULL

书籍类别表(tb_BookType)

存储内容

存储书籍类别信息

字段名称

中文意义

数据类型

数据长度

其它

LBBH

类别编号

char

2

主键

LBMC

类别名称

char

30

NOT NULL

借书信息表(tb_LentInfo)

存储内容

存储书籍借阅信息情况

字段名称

中文意义

数据类型

数据长度

其它

DZBH

读者编号

char

12(外键)

复合主键

SJBH

书籍编号

varchar

50(外键)

JSRQ

借书日期

Datetime

NOT NULL

YHSRQ

应还书日期

Datetime

约束 应还>借书日

NOT NULL

HSRQ

实还书日期

Datetime

1.查询tb_BookInfo(书籍信息表)中的所有书籍的书籍编号、书籍名称、是否

借出字段的信息。

Select SJBH,SJMC,SFJC from tb_BookInfo

数据库查询练习(一)_第1张图片

2.查询tb_ReaderInfo(读者信息表)中所有读者的信息。

select * from tb_ReaderInfo

数据库查询练习(一)_第2张图片

3.使用别名定义的三种方法(括号内为别名)查询每个读者的DZBH (编号)、DZXM(姓名)和LXDH (联系电话)。

select DZBH as '编号',DZXM as '姓名',LXDH as '联系电话' from tb_ReaderInfo

数据库查询练习(一)_第3张图片

4.查询tb_BookInfo(书籍信息表)中前5条记录的书籍编号、书籍名称。

select top 5 SJBH,SJMC from tb_BookInfo 

数据库查询练习(一)_第4张图片

5.查询tb_BookInfo(书籍信息表)中2017年4月份登记的图书名称和登记日期。

select SJMC,DJRQ from tb_BookInfo where year(DJRQ)=2017 and month(DJRQ)=4 

数据库查询练习(一)_第5张图片

6.查询在2017-3-1到2017年4-1之间借出的书籍编号、读者编号。

select DZBH,SJBH from tb_LentInfo where JSRQ>='20170301' and JSRQ<='20170401' 

数据库查询练习(一)_第6张图片

7.查询不是清华大学出版社、大连理工大学出版社出版的书籍信息。

select * from tb_BookInfo where  CBS not in ('清华大学出版社','大连理工大学出版社')

数据库查询练习(一)_第7张图片

8.在tb_ReaderInfo(读者信息表)中找到所有姓名中姓李并且带飞字的读者。

select * from tb_ReaderInfo where DZXM like '李%飞%' 

数据库查询练习(一)_第8张图片

9.查询书籍信息表,按书籍名称降序排序,书名相同按登记日期先后顺序排列。

注:由高到低为降序,由低到高为升序(由于日期为小在前,大在后,所以日期的先后顺序为升序)

select * from tb_BookInfo order by SJMC desc,DJRQ asc

数据库查询练习(一)_第9张图片

10.查询tb_BookInfo(书籍信息表),按书籍类别统计各类书籍的数量。

select LBBH,count(*) as 数量 from tb_BookInfo group by LBBH

数据库查询练习(一)_第10张图片

11.按出版社统计各个出版社的书籍数量,并显示数量超过100本的出版社名称

select CBS,count(*) as sum1 from tb_BookInfo group by CBS having (count(*)>100)

数据库查询练习(一)_第11张图片

12.统计2017年4月份借出书籍的数量,并按数量降序排列

select SJMC,count(*) 数量 from tb_BookInfo where year(DJRQ)=2017 and month(DJRQ)=4 
group by SJMC order by 数量 desc

数据库查询练习(一)_第12张图片

13.按书籍名称统计各种书籍的数量,并按书籍名称升序排序。

select SJMC,COUNT(*) 数量 from tb_BookInfo group by SJMC order by SJMC

数据库查询练习(一)_第13张图片

你可能感兴趣的:(数据库)