数据库查询练习(一)

环境: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

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

select * from tb_ReaderInfo

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

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

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

select top 5 SJBH,SJMC from tb_BookInfo 

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

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

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

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

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

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

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

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

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

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

select * from tb_BookInfo order by SJMC desc,DJRQ asc

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

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

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

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

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

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

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

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

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值