mysql左连接和右连接的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql左连接和右连接的区别相关的知识,希望对你有一定的参考价值。
参考技术AA.左连接(LEFT JOIN )
ON字句连接条件,用于把2表中等值的记录连接在一起,但是不影响记录集的数量。若是表left_table中的某记录,无法在表right_table找到对应的记录,则此记录依然显示在记录集钟,只是表 right_table需要在查询显示的列的值用NULL替代;
ON字句连接条件中表right_table.columnname=XXX用于控制right_table表是否有符合要求的列值还是用NULL替换的方式显示在查询列中,不影响记录集的数量;
WHERE字句控制记录是否符合查询要求,不符合则过滤掉;
B.右连接(RIGHT JOIN)
ON子句连接条件,用于把2表中等值的记录连接在一起,若是表right_table中的某记录,无法在表left_table找到对应的记录,则表 left_table需要在查询显示的列的值用NULL替代;
ON子句连接条件中表left_table.columnname=XXX用于控制left_table表是否有符合要求的列值,还是用NULL替换的方式显示在查询列表中;
WHERE字句控制记录是否符合查询要求,不符合则过滤掉;
数据库中内连接和左连接和右连接的区别
假设有两张表:
A表有四行四列数据;B表有两行两列数据;它们之间通过ID关联;假设它们之间的ID有两个相同;
则:
select * from A a left (outer) join B b on a.bid=b.id;
显示为:A表的四行四列全部显示,而B表满足条件的两条数据则全部显示;
A. 1 A.2 A.3 A.4 B.1 B.2
1 12 13 23 33 tt dd
2 23 33 11 26 null null
3 33 77 25 25 aa cc
4 66 99 35 36 null null
而右连接恰好与左连接是相反的;
对应内连接:就是只显示满足条件的数据,不显示不满足条件的数据;它与左连接和右连接的区别是它不显示不满足条件的数据;而左连接会显示左表不满足条件的数据而右表不满足条件的数据用null来表示;而右连接与左连接相同的;
A. 1 A.2 A.3 A.4 B.1 B.2
1 12 13 23 33 tt dd
3 33 77 25 25 aa cc
本文出自 “编程开发” 博客,请务必保留此出处http://w7984.blog.51cto.com/5147254/1852545
以上是关于mysql左连接和右连接的区别的主要内容,如果未能解决你的问题,请参考以下文章