自然全外连接在我的SQL Server Management Studio中不起作用

时间:2014-02-09 21:14:56

标签: sql sql-server sql-server-2012

我正在使用Microsoft SQL Server 2012.我有两个表T1和T2,它们都有一个ID列。

当我在Microsoft SQL Server Management Studio中输入以下SQL语句时

select ID 
from T1 
natural full outer join T2

它产生了以下错误:

  

Msg 102,Level 15,State 1,Line 1
  'T2'附近的语法不正确。

但是,Microsoft SQL Server Management Studio接受以下语句,我认为该语句是等效语句:

select ID 
from T1 
full outer join T2 ON t1.ID = T2.ID

SQL Server Management Studio不支持自然全外连接吗?

3 个答案:

答案 0 :(得分:1)

SQL Server / Transact SQL根本不支持自然连接语法。

顺便说一句,解析器并没有抱怨“自然”,因为它假设这是一个表别名: - )

答案 1 :(得分:0)

看起来没有对自然联接的支持,但看看论坛Microsoft ConnectStack Overflow

答案 2 :(得分:0)

Sql server中没有自然连接,您必须明确告诉sql server您希望表加入哪些字段。

1)使用ON子句并明确使用两个表中的列名。

2)或者在旧的JOIN语法中明确使用WHERE子句中两个表的列名。

关于这个主题的另一个好答案 Read here