数据库中联合查询的示例
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,小编给大家分享一下数据库中联合查询的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题最终要求的结果是这样的是不是很简
千家信息网最后更新 2024年11月11日数据库中联合查询的示例
小编给大家分享一下数据库中联合查询的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
问题最终要求的结果是这样的
是不是很简单?
然而,数据库是这样式的
忽略续借操作,只关注借书、还书操作。
就是说同一张表,同一本书,既可以存借书,也可以存归还,而且同一本书还可能借出或者归还多次。
其他属性好说,比较麻烦的就是这个归还时间,同一本书,紧跟着借书操作的还书操作,才是它的归还时间。
解决方案是这样的:
把借出操作记为A表,归还操作记为B表:其中A表22行,B表19行
连接条件应当为藏书的编号和读者的id ,连接的结果为58行。由于数据中,同一本书名有好几个编号,我把书名给去掉了,连接的结果是这样的
可以看出如果上的记录框图框出来的就是问题的所在!框图框出来的都是同一条借书记录,它跟每一条的还书记录连接。从记录里可以看出,我让这个人借了六次同一本书,做了六次的连接!
以下规则可以帮助我们查询出正确的结果
1)同一组借还操作,借操作一定在还操作之前
2)排除掉借操作时间>还操作的时间的记录之后,最早的还书时间,就是这个人,这本书的还书时间
最终结果是这样的
最终SQL代码是这样的
select A.*,min(B.操作时间) 还书时间 from aleft join bon a.书籍的典藏编号 = b.书籍的典藏编号 and a.读者id = b.读者id and a.操作时间用的是左外连接,未归还的还书时间当然就是NULL啦。这样,其他的子查询、联合、分页都不是问题了。
以上是"数据库中联合查询的示例"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
时间
就是
结果
数据
查询
读者
a.
数据库
书籍
典藏
篇文章
问题
示例
中联
书名
内容
框图
b.
帮助
好说
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
医院信息网络安全整改报告
云计算数据库共享文件挂载
直销软件开发与定制
智泓网络技术有限公司
校园服务器连接
网络安全投入不低于信息化建设
手机关闭服务器安全狗
网络安全意思
仓库软件开发
密云区电子计算机软件开发要求
天津网络技术公司
成都梦想兄弟网络技术公司
h5棋牌软件开发游戏
金铲铲之战服务器已满还能进去吗
软件开发与产品更新
网络安全中的安全设备
想做软件开发自学
服务器网络的局限性有哪三种
手机本机数据库
网络安全主要指什么
直销软件开发与定制
互联网软件开发学些什么
mysql更新数据库语言
idea的数据库连接过程
互联网顶尖科技博客
杭州湖畔网络技术公司李岚
vB6导出数据库字段代码
服务器推 php
海康威视服务器怎么打开
舜宇软件开发咋样