【100分在线等】这样使用Left JOIN有危险吗?
先说说我的用法吧
SELECT A.*, C.DisplayName FROM Table_A A LEFT JOIN TABLE_B B on A.id = B.Ref_A_ID LEFT JOIN Table_C C on B.Ref_C_ID = C.ID WHERE 1 = 1
先解释下为什么这么写: A 是主表,B是辅助表,B中有一个字段是引用C的PK.最后呈现出来的就是通过C进行一个ID到DisplayName的转换。
目前按照这么写满足了我的要求了:1 SQL语法满足 2 确实按照我的想法在工作。
但是我的疑惑就是 LEFT JOIN的用法。
A LEFT JOIN B,就是A和B做笛卡尔乘积,形成一个虚拟表,如果 LEFT JOIN C ON A.X = C.Y 这样也好理解,但是我这里写成B和C做Left JOIN?是不是意味着 A和B的结果不会受到C和B的影响呢?