mysql几种连接方式(简单谈谈mysql左连接内连接)
mysql几种连接方式
简单谈谈mysql左连接内连接前言
最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写
业务: sql语句统计出入库数据。
问题: 只统计了X端入库单。
原因: 没有发现X端的数据库中只有入库单是有a字段数据而出库单是没有的,并使用了a字段去inner join,导致只能查到入库单进行统计操作。注:出入库单是同一张表,统计数据时,部分数据需要用到a字段去关联其他表。
解决: 采用left join。
以前一直在想什么时候能用到left join 、 inner join ,这次可给我上了一课。
关于它们之间的区别,可以看看下面这篇文章:
inner join 与 left join 之间的区别
这里复制一小段:
关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了。
需求是从数据库查数据,在前端以柱形图的形式展现出来,查到的数据按行业分组,显示每个行业的户数及户数占比,涉及到的字段有A表的用户数、总用户数和B表的行业名称。本来是不管查不查的到数据,在X轴都应该显示行业名称的,结果是X、Y轴都没有任何数据显示。问题就是我用错了联结方式。
一、sql的left join 、right join 、inner join之间的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下:
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
1.left join
sql语句如下:
|
select * from A left join B on A.aID = B.bID |
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
总结
到此这篇关于mysql左连接内连接的文章就介绍到这了,更多相关mysql左连接内连接内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/qq_39380155/article/details/112616096
- mysql 双主双备(MySQL配置了双主,是如何避免出现数据回环冲突的)
- mysql表锁行锁和分页锁(MySQL 不停机不锁表主从搭建)
- phpstudy怎么升级mysql(phpStudy中升级MySQL版本到5.7.17的方法步骤)
- mysql深度分页问题(MySQL DDL 引发的同步延迟该如何解决)
- mysql用户删除了如何设置(MySQL两种删除用户语句的区别delete user和drop user)
- sysbenchmysql性能跑分(MySQL性能压力基准测试工具sysbench的使用简介)
- innodb和myisam(Mysql InnoDB和MyISAM区别原理解析)
- mysql数据库数据分析(详解MySQL数据库千万级数据查询和存储)
- mysql双向同步原理(详解MySQL的半同步)
- mysqlupdate原理(MySQL UPDATE 语句的非标准实现代码)
- mysql缓冲池(详解MySQL中的缓冲池buffer pool)
- mysql自增锁(深入剖析 MySQL 自增锁)
- mysql改root密码命令(MySQL root密码的重置方法)
- mysql自增主键创建过程(深入谈谈MySQL中的自增主键)
- mysql查询逗号分割字符串(MySQL 字符串拆分实例无分隔符的字符串截取)
- mysql8.0中如何导入数据(mysql8.0.20数据目录迁移的方法)
- 2019年外媒秋季新番动画角色CP排行榜,桐人和爱丽丝落榜(2019年外媒秋季新番动画角色CP排行榜)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
- 大事件 合肥四中火了(大事件合肥四中火了)
- 翼龙贷组织出借人调研 感受鄱阳 借 来的致富路(翼龙贷组织出借人调研)
- 2023新国风戏曲教育寒假集训班汇报演出《戏娃闹元宵》图文报道(2023新国风戏曲教育寒假集训班汇报演出戏娃闹元宵图文报道)
- 九儿《狐踪谍影》出演热血女特警,戏份杀青受关注(九儿狐踪谍影出演热血女特警)
热门推荐
- php class使用场景(php反射学习之不用new方法实例化类操作示例)
- nodejs格式化教程(nodejs利用readline提示输入内容实例代码)
- teamcenter常见问题(TeamCenter12登陆报404/503问题解决方案)
- python怎么安装queue(python队列Queue的详解)
- js柯里函数的应用场景(深入详解JS函数的柯里化)
- vue如何excel表格上传功能(Vue + iView实现Excel上传功能的完整代码)
- sql server 2014配置文件路径(SQL Server 2012 FileTable 新特性详解)
- css五种使用方法(CSS 的加载及加载顺序简介)
- php7语法代码规范(PHP7新功能总结)
- 由dem数据可以获得哪些数据(详解GaussDBDWS explain分布式执行计划的示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9