例如:我有两张桌子
表代理
表格应用程序
1)
select a.agentID, agent_nm from agent a
left join application ap on (ap.agentID=a.agentID);
我在上面的查询中使用了Left join并得到了结果
2)
select a.agentID, agent_nm from application ap
right join agent a on (ap.agentID=a.agentID);
我在上面的查询中使用了Right join,并获得了与使用Left join相同的结果。喜欢
所以我的问题为什么左右加入mysql。我们可以通过左连接检索数据只交换表。那么为什么我们在查询中使用正确的联接。同样地,我们可以仅使用Righ连接而不使用左连接来实现目标。 那么在SQL中左右连接的原因是什么呢?任何人都可以解释逻辑吗?
答案 0 :(得分:1)
它的对称,左和右外连接是可交换的。大多数人使用LEFT OUTER加入,因为它更容易思考"主表"左连接"其他数据" ...
答案 1 :(得分:1)
真的没有多大理由。事实上,MySQL文档说:
RIGHT JOIN
与LEFT JOIN
类似。为了使代码可以跨数据库移植,建议您使用LEFT JOIN
而不是RIGHT JOIN
。
这只是一个选项,只有少数人可以使用。
答案 2 :(得分:1)
当你有一个更复杂的语句并且想要用正确的连接添加一些东西时,你可能不想仅因为你只有左连接来交换这些语句。 也可以使查询更难阅读。