什么是sql中的连接顺序[重复]

Posted

技术标签:

【中文标题】什么是sql中的连接顺序[重复]【英文标题】:what is join order in sql [duplicate] 【发布时间】:2018-06-19 08:29:33 【问题描述】:

连接顺序是根据表的顺序还是'on'子句中的表顺序来确定的?

select *
  from A 
  left 
  join B 
    on A.id=B.id

一样
select * 
  from A 
  left 
  join B 
    on B.id = A.id

?

【问题讨论】:

是的,顺序仅由JOIN子句的“操作数”决定哪个表。 我选择标记为重复,因为接受的答案可能比您在此处收到的任何答案都更好,更有帮助。如果您确实遇到问题,请记下笔记,然后有人可以重新提出问题。 【参考方案1】:

是的,虽然我更喜欢第二种选择。这听起来更像是我耳中的自然语言。

【讨论】:

【参考方案2】:

它们是一样的。逻辑条件是可交换的。阅读此处了解有关mysql joins.的更多见解

【讨论】:

以上是关于什么是sql中的连接顺序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

bigquery重复记录中的数据顺序

SQL执行顺序

SQL Server中多表连接时驱动顺序对性能的影响

SQL Server中多表连接时驱动顺序对性能的影响

使用 SQL 按字母顺序重新排列字符串中的字符 [关闭]

SQL 中的语法顺序与执行顺序