8

*=我在一个子句中遇到了一些带有此运算符的代码,但WHERE我只发现一件事将其描述为 Sybase DB 的某种连接运算符。它似乎并没有真正适用。我认为这是某种按位的东西(我不太了解),但它根本不包含在这个参考中。

当我将其更改为普通=运算符时,它根本不会更改结果集。

确切的查询如下所示:

select distinct 
       table1.char8_column1,
       table1.char8_column2,
       table2.char8_column3,
       table2.smallint_column
from   table1, table2
where  table1.char8_column1 *= table2.another_char8_column

有谁知道这方面的参考资料或可以对此有所了解?这是在 SQL Server 2000 中。

4

3 回答 3

19

如果可以的话,杀死不推荐使用的语法,但是:

*= (LEFT JOIN)

=* (RIGHT JOIN)
于 2013-08-15T16:07:02.600 回答
4

那将是LEFT JOIN的“老派”等价物。

于 2013-08-15T16:04:58.397 回答
3

它是用于指定外连接的传统语法,Microsoft 将其称为“非 ANSI 外连接运算符”。当数据库的兼容级别设置为 90 时,不支持这些外连接运算符(= 和 = )。

这个问题之前已经在 StackOverflow 上回答过:SQL server 2000 中的这个操作数(*= 星号)是什么?

于 2013-08-15T16:16:10.800 回答