Join链接方式
Left join 左边的表为左表,right join右边的表为右表
1、左链接
1.1、 是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。其语句为Left join .. on
1.2、 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录,LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。**
注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。
2、右链接
2.1、 右向外联接是左向外联接的反向联接,是以右表为基础,返回右表的所有行,和左链接没有本质上的区别,在下述代码中,我们将user_profile和question_practice_detail的顺序颠倒,使用Right join匹配的结果与上一节中Left join的结果是完全一致的,在实际使用中,一般使用Left join就可以满足需求
2.2、right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
3、内链接
3.1、内连接是A表的所有行和B表的所有行在指定条件下得到的交集,所用到的语句为Join
3.2、inner join(等值连接) 只返回两个表中联结字段相等的行
笛卡尔积
在写表与表之间的链接关系时,大多数情况下都必须要限制匹配条件,如果在匹配时没用限制匹配条件,这时就会导致笛卡尔积。笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合,即假设表A中有n行数据,表b中有m行数据,没有限制匹 配条件的话,最终输出的结果就会有mn行数据,在互联网大体量数据情况下,每个表 可能有几百万几千万行数据,几千万几千万最终得到的结果行数会是天文数字,所以在写匹配时,一定不要忘了加上匹配条件。
标签:匹配,连接,查询,mysql,左表,join,链接,Left From: https://www.cnblogs.com/randamao666/p/16615288.html