Oracle Style加入SQL Server

时间:2011-11-24 01:41:59

标签: sql sql-server oracle

有没有办法在SQL Server中进行oracle样式连接?

select * 
from t1, t2
where t1.id = t2.id (+)

修改

为什么最好使用“左外连接”和“内连接”类型?我发现阅读旧表单更容易,特别是如果涉及复杂的表连接。

2 个答案:

答案 0 :(得分:9)

Microsoft正在使用ANSI ISO SQL标准。 Mark Rittman对ANSI joins and why you should use them有一个很好的解释。但是,SQL Server不支持该文章和ANSI标准中列出的NATURAL JOIN语法。您可能更熟悉旧的Oracle语法,但它是标准的,您可以在其他数据库产品上找到它。

要回答您的问题 - 无法在SQL Server上执行Oracle样式连接。即使是*==*样式联接也已弃用,并且会在下一版本的产品中完全删除。

答案 1 :(得分:4)

SELECT *
FROM t1
LEFT OUTER JOIN t2 ON t1.id = t2.id

这篇AskTom文章向您展示了Oracle的(+)到(LEFT AND RIGHT) OUTER JOIN的语法等效性,SQL Server使用OUTER JOIN语法。