MySQL中的关联性来自于子句

时间:2013-03-21 16:35:53

标签: mysql

我想知道是否:

select *
from tableA natural join tableB,tableC natural join tableD;

相当于:

select *
from (((tableA natural join tableB),tableC),tableD) natural join tableD;

from子句是否为左关联?

1 个答案:

答案 0 :(得分:1)

我相信它等同于:

select *
from (tableA natural join TableB) cross join
     (tableC natural join TableD)

这基于documentation

  

以前,逗号运算符(,)和JOIN都有相同的含义   优先级,因此连接表达式t1,t2 JOIN t3被解释为   ((t1,t2)JOIN t3)。现在JOIN具有更高的优先级,所以表达式   被解释为(t1,(t2 JOIN t3))。此更改会影响语句   使用ON子句,因为该子句只能引用列   在连接的操作数中,优先级的变化会发生变化   解释这些操作数是什么。