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

相关文章

  • 一款免费开源的通用数据库工具DBeaver

    一款免费开源的通用数据库工具DBeaver

    这篇文章主要介绍了一款免费开源的通用数据库工具DBeaver,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • redis安装、配置、使用和redis php扩展安装教程

    redis安装、配置、使用和redis php扩展安装教程

    这篇文章主要介绍了redis安装、配置、使用和redis php扩展安装教程,其中redis使用的是编译安装,同时介绍了redis常用配置说明、常用命令,要的朋友可以参考下
    2014-05-05
  • DBeaver执行外部sql文件详细图文教程

    DBeaver执行外部sql文件详细图文教程

    DBeaver最近才使用,以前使用的PL/SQL,有些不是很熟悉,记录下来,下面这篇文章主要给大家介绍了关于DBeaver执行外部sql文件的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • JDBC 数据库常用连接 链接字符串

    JDBC 数据库常用连接 链接字符串

    JDBC 数据库常用连接 链接字符串,经常用各种数据库的朋友可以参考下。
    2009-07-07
  • SQL行转列、列转行的简单实现

    SQL行转列、列转行的简单实现

    这篇文章主要给大家介绍了关于SQL行转列、列转行的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • idea中连接数据库时出现SSL错误的问题

    idea中连接数据库时出现SSL错误的问题

    这篇文章主要介绍了idea中连接数据库是出现SSL错误的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 使用Navicat工具比对两个数据库所有表结构的差异案例详解

    使用Navicat工具比对两个数据库所有表结构的差异案例详解

    这篇文章主要介绍了如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDL SQL语句,以便将test_old升级到和test_new一致的状态,需要的朋友可以参考下
    2025-02-02
  • Navicat for SQLite安装使用教程 附安装包

    Navicat for SQLite安装使用教程 附安装包

    这篇文章主要介绍了Navicat for SQLite安装教程 附安装包,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • mycat在windows环境下的安装和启动

    mycat在windows环境下的安装和启动

    这篇文章主要介绍了mycat在windows环境下的安装和启动过程,需要的朋友参考下吧
    2018-03-03
  • explain慢查询SQL调优exists的实战

    explain慢查询SQL调优exists的实战

    这篇文章主要介绍了explain慢查询SQL调优exists的实战,经过两次优化SQL语句之后,慢SQL的性能显著提升了,耗时从8s优化到了0.7s,现在拿出来给大家分享一下,希望对你会有所帮助
    2023-12-12

最新评论