【问题标题】:=* operator in sqlsql中的=*运算符
【发布时间】:2012-11-03 03:20:02
【问题描述】:

我在打字时用手指发胖,当我打字时

=*

在 sql 窗口中(2008 SSMS 连接到 2005 服务器)它变成蓝色作为关键字。

我无法弄清楚,或者谷歌,这是做什么的。我知道 *= 但不知道 =*

这个操作符是做什么的?

【问题讨论】:

  • 你在哪个键盘上用粗手指“=”和“*”?!
  • 应该是 =( 就像在 set 语句中启动子查询一样 =(Select
  • SQL Server *= Operator?的可能重复

标签: sql-server sql-server-2008 sql-server-2005


【解决方案1】:

=* 是一种编写右外连接的旧方法。例如:

select  *
from    A
right outer join
        B
on      A.bid = B.id

是用旧式写成的:

select  *
from    A
,       B
where   A.bid =* B.id

【讨论】:

  • 哇。 =* 是左连接还是右连接?当我尝试编写我得到的语句时,这也很有趣----查询使用非 ANSI 外连接运算符(“*=”或“=*”)。要在不修改的情况下运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的兼容级别设置为 80 或更低。强烈建议使用 ANSI 外连接运算符(LEFT OUTER JOIN、RIGHT OUTER JOIN)重写查询。在 SQL Server 的未来版本中,即使在向后兼容模式下也不支持非 ANSI 连接运算符。
  • *= 是左外连接,=* 是右外连接。您可以在此处manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/… 的 Sybase 文档中找到旧语法。 SQL Server 和 Sybase 作为同一个产品开始
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多