我刚刚收到了几周前由某人写的SQL语句(似乎没有人知道是谁)。
作为声明的一部分,在WHERE
子句中,它们具有以下内容:{table1.field} *= {table2.samefield}
。
这到底发生了什么?我假设某种联接,但是什么加入和为什么,以及一般来说,为什么有人会把它放在WHERE
条款中?
答案 0 :(得分:1)
答案 1 :(得分:0)
SyBase连接运算符等同于更传统的LEFT OUTER JOIN
(或更常见的是LEFT JOIN
。
参考:SyBooks Online - The WHERE
clause
* =
在结果中包含第一个表中的所有行,而不仅仅是 连接列匹配的那些。
与=*
RIGHT OUTER JOIN
(或更常见的RIGHT JOIN
)相对。