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 复制表的方法)
- mysql锁机制及原理(MySQL锁阻塞的深入分析)
- mysql8.0.25.0安装配置(MySQL8.0.23免安装版配置详细教程)
- mysql和navicat怎么用(如何用Navicat操作MySQL)
- mysql权限设置
- mysql水平拓展的瓶颈(MySQL令人大跌眼镜的隐式转换)
- mysql常见的存储引擎(如何选择MySQL的存储引擎?)
- mysql8.0.15安装详细教程(Mysql8.0.22解压版安装教程小白专用)
- mysql生成唯一订单号(MySQL高并发生成唯一订单号的方法实现)
- 图片如何存放在mysql中(将图片保存到mysql数据库并展示在前端页面的实现代码)
- mysql怎么给查询权限(MySql设置指定用户数据库查看查询权限)
- 用mysql语句写python学生管理系统(Python基于mysql实现学生管理系统)
- mysql优化方案最新(记一次MySQL的优化案例)
- mysql常用优化方法(理解MySQL查询优化处理过程)
- java实现数据库备份(MySQL基于java实现备份表操作)
- 自制橡皮泥(自制橡皮泥)
- 还在卖 禁药西布曲明网上论斤卖(还在卖禁药西布曲明网上论斤卖)
- 微商在朋友圈热卖的 DL减肥咖啡 含违禁药物,你还敢买吗(微商在朋友圈热卖的)
- 八一节,说说中国女兵(八一节说说中国女兵)
- 王治郅菜鸟赛季已让八一带入正轨,大郅七大经典语录或是成功秘诀(王治郅菜鸟赛季已让八一带入正轨)
- 庆八一,重读经典红色语录,感悟互联网发展硬道理(重读经典红色语录)
热门推荐
- docker中mysql连接命令(docker 如何修改mysql的root密码)
- ASP.NET文件打包压缩下载
- docker容器是怎么进行通信的(Docker容器间通信与外网通信的操作)
- linux中输出和追加命令(linux驱动开发中常用函数copy_from_user open read write详解)
- django响应返回的常用方法(Django异步任务之Celery的基本使用)
- canvas俄罗斯方块(JavaScript canvas实现俄罗斯方块游戏)
- iis上搭建php环境(vultr服务器windows server 2012 r2搭建IIS8+PHP+MYSQL+phpMyAdmin运行环境图文教程)
- tomcat服务如何在eclipse中配置(HBuilderX配置tomcat外部服务器查看编辑jsp界面的方法详解)
- pandas 比较两个表数据是否相同(浅谈pandas筛选出表中满足另一个表所有条件的数据方法)
- SQL中in和exists的区别
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9