2

我刚刚拿起了几周前某人写的一条 SQL 语句(似乎没有人知道是谁)。

作为语句的一部分,在WHERE子句中,它们具有以下内容:{table1.field} *= {table2.samefield}.

这里到底发生了什么?我假设某种连接,但是什么连接以及为什么,一般来说,为什么有人会把它放在WHERE子句中?

4

2 回答 2

1

这似乎是 Sybase 的外部连接注释:

在结果中包括第一个表中的所有行,而不仅仅是连接列匹配的行。

请参阅: Sybase 文档

于 2013-04-16T09:39:43.463 回答
0

它是 SyBase 连接运算符,相当于更传统的LEFT OUTER JOIN(或更常见的LEFT JOIN.

参考: SyBooks Online -WHERE子句

*=

在结果中包括第一个表中的所有行,而不仅仅是连接列匹配的行。

=*which is a RIGHT OUTER JOIN(或更常见的RIGHT JOIN) 相反。

于 2013-04-16T09:47:07.380 回答