当前位置: 代码网 > it编程>数据库>大数据 > 数据库librarydb多表查询的操作方法

数据库librarydb多表查询的操作方法

2024年05月15日 大数据 我要评论
数据库librarydb多表查询#全连接、内连接、右连接、左连接1.查询张小东的基本情况和图书借阅情况2.查询借阅状态为借阅的图书的书号和条码3.查询每个读者的姓名、单位、可借天数和可借数量4.查询每

数据库librarydb多表查询

#全连接、内连接、右连接、左连接

1.查询张小东的基本情况和图书借阅情况

2.查询借阅状态为借阅的图书的书号和条码

3.查询每个读者的姓名、单位、可借天数和可借数量

4.查询每个读者的借阅信息,包括读者姓名、书名、借阅日期、借阅状态 

5.查询库存表中每本书的条码、位置和借阅的读者编号。没有借阅的,读者编号用null表示

#查询张小东的基本情况和图书借阅情况
select * from reader join borrow
on reader.`读者编号` = borrow.`读者编号`
where reader.`姓名` = '张小东';
#查询借阅状态为借阅的图书的书号和条码
select storeroom.`书号`, borrow.`条码` from borrow join storeroom
on borrow.`条码` = storeroom.`条码`
where borrow.`借阅状态` = '借阅';
#查询每个读者的姓名、单位、`可借天数`和可借数量
select reader.`姓名`,reader.`单位`,readertype.`可借天数`,readertype.`可借数量` from reader join readertype
on reader.`类别号` = readertype.`类别号`;
#查询每个读者的借阅信息,包括读者姓名、书名、借阅日期、借阅状态 
select reader.`姓名`,books.`书名`,borrow.`借阅日期`,borrow.`借阅状态` from borrow
join reader on borrow.`读者编号` = reader.`读者编号`
join storeroom on borrow.`条码` = storeroom.`条码`
join books on storeroom.`书号` = books.`书号`;
#查询库存表中每本书的条码、位置和借阅的读者编号。没有借阅的,读者编号用null表示 
select storeroom.`条码`, storeroom.`位置`,borrow.`读者编号` from borrow right join storeroom
on borrow.`条码` = storeroom.`条码`;

补充案例:

mysql数据库——图书管理系统中libarydb数据库中的查询

实验内容:

图书管理系统中的图书借阅数据库,数据库名为librarydb,对libarydb数据库完成以下查询。

项目1 单表查询

(1)查询库存表中书号和库存状态列,要求消除重复行。

(2)查询读者表中的姓名和单位列,显示的列标题改为姓名显示“name”,单位为“college”。

(3)查询图书表中每种书的书名和金额(金额=数量*单价)。

项目2 条件查询

(1)查询图书表中数量高于10本的图书的书名、数量和出版社。

(2)查询库存表中库存状态为“借出”的图书的信息。

(3)查询图书表中财经和文学类图书中数量大于5本的图书信息。

项目3 多表查询

(1)查询“张小东”的基本情况和图书借阅情况。

(2)查询借阅状态为“借阅”的图书的书号和条码。

实验结果截图如下:

项目1:

查询库存表中书号和库存状态列,要求消除重复行

select distinct 书号,库存状态

    -> from 库存表;

查询读者表中的姓名和单位列,显示的列标题改为姓名显示“name”,单位为“college”:

select 姓名 as name,单位 as college

-> from 读者表;

查询图书表中每种书的书名和金额(金额=数量*单价):

select 书名,round(数量*单价,2) as 金额

-> from 图书表;

项目2:

查询图书表中数量高于10本的图书的书名、数量和出版社:

select 书名,数量,出版社

    -> from 图书表

-> where 数量 > 10;

查询库存表中库存状态为“借出”的图书的信息:

select 条码,书号,位置,库存状态

    -> from 库存表

-> where 库存状态 = '借出';

查询图书表中财经和文学类图书中数量大于5本的图书信息:

elect *

    -> from 图书表

    -> where (类别 ='文学' or 类别 ='财经')

and 数量 > 5;

项目3:

查询“张小东”的基本情况和图书借阅情况:

      select 姓名,读者表.读者编号,借阅表.条码,借阅日期,还书日期,借阅状态

     from 读者表 join 借阅表

     on 读者表.读者编号 = 借阅表.读者编号

     where 姓名 = '张小东';

查询借阅状态为“借阅”的图书的书号和条码:

      mysql> select distinct 库存表.书号, 库存表.条码

   from 借阅表,库存表

     where 借阅状态 = '借阅' and 库存状态 = '借出';

到此这篇关于数据库librarydb多表查询的文章就介绍到这了,更多相关数据库librarydb多表查询内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com