mysql中left join和union有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中left join和union有啥区别?相关的知识,希望对你有一定的参考价值。
说实话,没感觉有太大的相同,,,,
left join 表示至少2表要有1个匹配字段才能返回数据
union则不需要有关联字段就可以返回数据;而且union要求多次查询的结果列数必须一样;例如
select a,bfrom t1
union
select a,b
from t2
必须要求,t1,t2都是显示两个字段
一般什么情况下用left join ,什么情况下用union呢
追答2个表有关联字段的用left join,2个表没有任何关联用union
参考技术A http://www.2cto.com/database/201212/172617.html希望这个对你有用。
SQL中的Join和UNION有啥区别
【中文标题】SQL中的Join和UNION有啥区别【英文标题】:What's the difference between Join and UNION in SQLSQL中的Join和UNION有什么区别 【发布时间】:2016-04-10 05:34:37 【问题描述】:我只是想知道SQL和Join中的Join和Union有什么区别,Join和Cross Join有什么区别?谢谢!
【问题讨论】:
essentialsql.com/… What is the difference between Join and Union?的可能重复 【参考方案1】:Join:根据特定条件加入表。假设表 A 有 2 行 rowA1 和 rowA2。并且您将其与具有 3 行 rowB1 rowB2 rowB3 的表 B 连接。所以结果将是:
rowA1.data RowB1.data
rowA1.data RowB2.data
rowA1.data RowB3.data
rowA2.data RowB1.data
rowA2.data RowB2.data
rowA2.data RowB3.data
但在联合中,结果将是:
rowA1.data
rowA2.data
rowB1.data
rowB2.data
rowB3.data
Union 还会检查重复项。数据类型应该一致。返回的列的数据类型应与数据类型和编号的顺序和编号相同。第二个表返回的列数。
加入是一个概念。它可以是各种类型,例如Inner Join,Outer Join,Cross Join。交叉连接意味着,缺少一个可以唯一连接表数据的条件。
【讨论】:
以上是关于mysql中left join和union有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章