Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我刚刚拿起了几周前某人写的一条 SQL 语句(似乎没有人知道是谁)。
作为语句的一部分,在WHERE子句中,它们具有以下内容:{table1.field} *= {table2.samefield}.
WHERE
{table1.field} *= {table2.samefield}
这里到底发生了什么?我假设某种连接,但是什么连接以及为什么,一般来说,为什么有人会把它放在WHERE子句中?
这似乎是 Sybase 的外部连接注释:
在结果中包括第一个表中的所有行,而不仅仅是连接列匹配的行。
请参阅: Sybase 文档
它是 SyBase 连接运算符,相当于更传统的LEFT OUTER JOIN(或更常见的LEFT JOIN.
LEFT OUTER JOIN
LEFT JOIN
参考: SyBooks Online -WHERE子句
*= 在结果中包括第一个表中的所有行,而不仅仅是连接列匹配的行。
*=
与=*which is a RIGHT OUTER JOIN(或更常见的RIGHT JOIN) 相反。
=*
RIGHT OUTER JOIN
RIGHT JOIN