A left join B 和 B right join A
先说结论,A left join B 和 B right join A效果是一样一样的。
left join(左链接)where条件语句只影响右表,右表存在符合条件的记录则展示,否则为null,右表多出的数据不展示。
右链接雷同。
例:
表a,用户信息表,表b,用户的积分流水记录表。
left join:
SELECT a.merchant_id,a.member_id,a.wid,b.point_flow_id
FROM `cc_member_card_main_info_6` a
left join `cc_point_log_6` b
on a.merchant_id = b.merchant_id and a.member_id = b.member_id
WHERE a.merchant_id = 870;
左链接结果:
right join:
SELECT a.merchant_id,a.member_id,a.wid,b.point_flow_id
FROM `cc_point_log_6` b
right join `cc_member_card_main_info_6` a
on a.merchant_id = b.merchant_id and a.member_id = b.member_id
WHERE a.merchant_id = 870;
右链接结果:
结果相同,同时可以看到,表a(用户信息表)和表b(用户流水记录表)是一对多的关系,对应的多条记录都会被查找出来。
---------
在另一个文章看到另外一个点:小表驱动大表原则。参考https://blog.csdn.net/huangfan322/article/details/50516851
意思是说,查到的记录以符合条件的,记录少的表为主。
以左链接为例:
修改查询语句,添加记录id限定条件,sql语句如下:
SELECT a.merchant_id,a.member_id,a.wid,b.point_flow_id
FROM `cc_member_card_main_info_6` a
left join `cc_point_log_6` b
on a.merchant_id = b.merchant_id and a.member_id = b.member_id
WHERE b.merchant_id = 870 and b.point_flow_id < 3000;
运行结果:
用户信息共19条,用户积分记录共9条,查询结果只展示了5条。
A left join B 和 B right join A相关推荐
- java fork join原理_细说Fork/Join框架
什么是Fork/Join框架? Fork/Join框架是JDK1.7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干小任务,最终汇总每个小任务结果后得到大任务结果的框架.Fork就是把一个大 ...
- mysql right join实例_MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程
LEFT JOIN 语法用法与实例MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录.LEFT ...
- 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题...
1.SQL Server自动把left join自动转化为inner join的问题: 下面的两个语句都是left join的,但是一个却转化成了 inner join drop table a,B ...
- Python中join()方法和os.path.join()方法
join() 方法: 描述:join()方法用于将序列中的元素以指定的字符连接成一个新的字符串 语法:x.join(y) y: 可迭代对象,对象内的元素必须是字符串类型.对象可以是字符串.元组.列表和 ...
- Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
Mysql hash join之classic hash join CHJ过程详解 hash join的历史 优化器里的hash join算法在SQL Server.Oracle.postgress等 ...
- mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...
Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...
- mysql join 与 cross join 效率_浅析Mysql Join语法以及性能优化
在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧,这里我有个比较简便的记忆方法,内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则 ...
- mysql+join的原理,Mysql连接join查询原理知识点
Mysql连接join查询原理知识点 Mysql连接(join)查询 1.基本概念 将两个表的每一行,以"两两横向对接"的方式,所得到的所有行的结果. 假设: 表A有n1行,m1列 ...
- Hive中的map join、left semi join和sort merge bucket join
map join map join是将join双方比较小的表直接分发到各个 map进程的内存中,在map进程中进行join操作,这样就不用进行reduce步骤,从而提高了速度. 如果不指定mapjoi ...
- 1.19.5.4.流上的Join、常规Join、时间区间Join、时态表Join、基于处理时间的时态Join、时态表函数Join、用法
1.19.5.4.流上的Join 1.19.5.4.1.常规Join 1.19.5.4.2.时间区间Join 1.19.5.4.3.时态表Join 1.19.5.4.4.基于处理时间的时态Join 1 ...
最新文章
- 网易云课堂 学习教程
- 将大核卷积分三步,清华胡事民、南开程明明团队全新视觉骨干VAN,超越SOTA ViT和CNN...
- C++使用数组实现stack堆栈(附完整源码)
- 【每日一题】4月9日题目精讲 Running Median
- ExecuteNonQuery()方法发即:是指执行非查询SQL命令,如:增、删、改等
- python安装盒怎么打开_安装MySQL-python报错
- PRML笔记:模式识别与机器学习
- LeetCode 169 Majority Element 解题报告
- matlab傅里叶光学仿真,计算傅里叶光学实现衍射图样的计算
- PreScan快速入门到精通第三讲快速搭建第一个自动驾驶仿真模型
- 字节跳动怎么都十万人了?
- 华为手机USB调试搜不到设备
- 苹果开发者怎么避免封号
- Sentiment Classification towards Question-Answering with Hierarchical Matching Network 论文阅读笔记
- symbian程序的前台运行和后台运行
- .net 导出excel_使用 EasyPOI 优雅导出Excel模板数据(含图片)
- archetype-catalog.xml
- Gartner:超级应用成为战略技术趋势,可以从中学习到什么
- JDK版本8u191与8u192的区别, jdk小版本号奇数与偶数的区别
- 6位密码锁安全性级别分析探讨
热门文章
- JavaScript聊天框插入表情: 点击表情时输入框失焦, 无法插入到输入框.
- linux 切换一般用户名,linux 切换用户名的方法
- games101——作业8
- 计算机操作系统课后习题答案(第四版).docx
- 常用服务器日志查询方法
- SQL Server数据库 附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。
- 如何登录共享文件夹(域账号和密码)
- Windchill中表达式异常的处理
- 如果Linux下突然什么命令都无法识别了解决方法
- (摘自邀月csdn)安装sql2008 enterprise (English正式版)图解