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

 更新时间:2023年12月08日 10:55:37   作者:Chargen根  
这篇文章主要介绍了数据库librarydb多表查询的操作方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

数据库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多表查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mongoDB和mysql对比分析及选择(详细版)

    mongoDB和mysql对比分析及选择(详细版)

    这篇文章主要介绍了mongoDB和mysql对比分析及选择(详细版),需要的朋友可以参考下
    2023-06-06
  • SQL Prompt--绝好的SQL语法提示工具

    SQL Prompt--绝好的SQL语法提示工具

    SQL Prompt--绝好的SQL语法提示工具...
    2007-03-03
  • 数据库librarydb多表查询的操作方法

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

    这篇文章主要介绍了数据库librarydb多表查询的操作方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • SQL 优化经验总结34条

    SQL 优化经验总结34条

    我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!
    2009-07-07
  • SQL基础教程之行转列Pivot函数

    SQL基础教程之行转列Pivot函数

    这篇文章主要给大家介绍了关于SQL基础教程之行转列Pivot函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • sqlserver和oracle中对datetime进行条件查询的一点区别小结

    sqlserver和oracle中对datetime进行条件查询的一点区别小结

    系统中涉及公文列表的部分,需要支持对时间列的搜索功能,但必须要同时支持sqlserver和oracle两种数据库,而这在这两种数据库中编写查询语句的时候有一些不大一样的地方,无法实现一条语句实现两个数据库的正常查询,所以需要做一些调整。
    2009-06-06
  • 数据库正规化和设计技巧

    数据库正规化和设计技巧

    数据库正规化和设计技巧...
    2007-06-06
  • 详解通过SQL进行分布式死锁的检测与消除

    详解通过SQL进行分布式死锁的检测与消除

    本文主要介绍在 GaussDB(DWS) 中,如何通过 SQL 语句,对分布式死锁进行检测和恢复。
    2021-05-05
  • Hive日期格式转换方法总结

    Hive日期格式转换方法总结

    这篇文章主要为大家介绍了Hive日期格式转换方法总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • PostgreSQL8.3.3安装方法

    PostgreSQL8.3.3安装方法

    非安装版的PostgreSQL8.3.3的首次使用经历第一次用Postgre,已经是好多年以前了,隐约记得是在linux下边,build半天,然后手动配置库文件之类。
    2008-09-09

最新评论