2025年SQL 基础(五)数据查询实战演练一

SQL 基础(五)数据查询实战演练一根据数据库 db Book 中的 tb BookInfo 表 tb ReaderInfo 表 tb BookType 表 tb LentInfo 表 完成下列查询操作 表结构 任务题解 任务一 查询 tb BookInfo 书籍信息表 中的所有书籍的书籍编号 书籍名称 是否借出字段的信息

大家好,我是讯享网,很高兴认识大家。

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

表结构


讯享网

任务题解

任务一

查询 tb_BookInfo(书籍信息表)中的所有书籍的书籍编号、书籍名称、是否借出字段的信息。

use db_book select sjbh,sjmc,sfjc from tb_bookinfo 

讯享网

任务二

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

讯享网use db_book select * from tb_ReaderInfo 

任务三

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

use db_book select dzbh as 编号,dzxm 姓名,联系电话=lxdh -- 别名定义三种方法 as 别名 = from tb_ReaderInfo 

任务四

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

讯享网use db_book select top 5 sjbh,sjmc -- 前五条 top 5 from tb_bookinfo 

任务五

查询 tb_BookInfo(书籍信息表)表中已借出的书籍信息。

use db_book select * from tb_bookinfo where sfjc='1' -- 1 已借出 0 未借出 

任务六

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

讯享网use db_book select sjmc,djrq -- 且 关系 ,使用 and 连接 from tb_BookInfo where YEAR(djrq)=2017 and MONTH(djrq)=4 

任务七

查询 b_BookInfo(书籍信息表)中人民邮电出版社书籍的信息。

use db_book select * from tb_BookInfo where cbs='人民邮电出版社' 

任务八

查询 b_BookInfo(书籍信息表)中 2017 年 4 月 1 日前登记的书籍信息。

讯享网use db_book select * from tb_BookInfo where djrq < '2017-4-1' -- 对应日期"前",即"小于 <" 

任务九

查询名为《数据库原理与应用》的书籍的基本信息。

use db_book select * from tb_BookInfo where sjmc='数据库原理与应用' 

任务十

查询 tb_BookType(书籍类别表)中书籍类别为文学类的书籍信息。

讯享网use db_book select * from tb_BookType where LBMC='文学' 

任务十一

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

use db_book select sjbh,dzbh -- 查询书籍编号,读者编号  from tb_LentInfo where JSRQ between '2017-3-1' and '2017-4-1' 

任务十二

查询人民邮电大学出版社、上海交通大学出版社的书籍信息。

讯享网use db_book select * from tb_bookinfo where cbs='人民邮电大学出版社' or cbs='上海交通大学出版社' -- 虽然是查询两个出版社信息,但是两者间的关系是 or (没有同时是两个出版社的cbs,会报错,不要用 and) 

任务十三

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

use db_book select * from tb_bookinfo where cbs <> '清华大学出版社' or cbs <> '大连理工大学出版社' -- <> 表示(否定,不,反义) 

任务十四

查询出版社是清华大学出版社并已借出的图书信息。

讯享网use db_book select * from tb_BookInfo where cbs='清华大学出版社' and sfjc='1' 

任务十五

查询 tb_ReaderInfo(读者信息表)表中姓“田”的读者。

use db_Book select * from tb_ReaderInfo where DZXM like '田%' -- 模糊查询,只知道姓氏,不清楚名字有几个字,所以用符号 % (任意个字符) ,而不是 _ (仅一个字符) 

任务十六

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

讯享网use db_book select * from tb_ReaderInfo where DZXM like '李%飞%' -- 模糊查询,姓李,带飞字. 飞 字前后字符个数未知,使用 %  

任务十七

查询 tb_BookInfo(书籍信息表), 按书籍名称升序显示书籍编号,书籍名称,是否借出字段。

use db_book select SJBH,SJMC,SFJC from tb_bookinfo order by SJMC asc 

任务十八

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

讯享网use db_book select * from tb_bookinfo order by SJMC desc,DJRQ asc -- 书名相同按登记日期先后顺序排列(也就是添加第二个条件,先后顺序,也几 asc 升序排列) 

任务十九

返回 tb_BookInfo(书籍信息表)中的出版社信息。

use db_book select cbs from tb_BookInfo 

任务二十

按读者姓名降序显示 tb_ReaderInfo(读者信息表)中的信息。

讯享网use db_book select * from tb_ReaderInfo order by DZXM desc 

任务二十一

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

use db_book select LBBH 类别编号,count(*) as 书籍总数 from tb_BookInfo group by LBBH -- 按照类别编号分组 

任务二十二

统计 tb_BookInfo(书籍信息表)中的书籍数量。

讯享网use db_book select count(sjbh) as 书籍数量 from tb_bookinfo -- 使用count(sjbh) [不包含 null] 如果使用 count(*) 会包含 NULL 数值,包含无效信息 

任务二十三

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

use db_book select sjmc,count(*) as 数量 from tb_BookInfo group by sjmc order by sjmc asc 

任务二十四

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

讯享网use db_book select cbs,count(*) as 书籍数量 from tb_bookinfo group by cbs having (count(*)>'100') 

任务二十五

统计人民邮电出版社书籍的数量。

use db_book select cbs 出版社,count(*) as 书籍总数 from tb_bookinfo group by cbs having cbs='人民邮电出版社' 

任务二十六

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

讯享网use db_book select sjbh 书籍编号,count(*) as 借出数量 from tb_lentinfo group by sjbh order by count(*) desc 

重视基础练习,每日进步亿点点

小讯
上一篇 2025-04-01 13:47
下一篇 2025-01-17 11:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62024.html