Oracle Style объединяется в SQL Server - PullRequest
2 голосов
/ 24 ноября 2011

Есть ли способ сделать соединение в стиле оракула в SQL Server?

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

EDIT

Почему вместо этого предпочтительнее использовать типы "левое внешнее соединение" и "внутреннее соединение"? Мне легче читать старую форму, особенно если речь идет о сложных объединениях таблиц.

Ответы [ 2 ]

9 голосов
/ 24 ноября 2011

Microsoft использует стандарт ANSI ISO SQL.У Марка Риттмана есть хорошее объяснение ANSI-соединений и почему вы должны их использовать .SQL Server, однако, не поддерживает синтаксис NATURAL JOIN, приведенный в этой статье, и стандарт ANSI.Возможно, вы более знакомы со старым синтаксисом Oracle, но он является стандартом, который вы найдете в других продуктах баз данных.

Чтобы ответить на ваш вопрос, нет способа выполнить объединение в стиле Oracle на SQLСервер.Даже объединения в стиле *= и =* устарели и полностью удаляются в следующей версии продукта.

4 голосов
/ 24 ноября 2011
SELECT *
FROM t1
LEFT OUTER JOIN t2 ON t1.id = t2.id

Эта статья AskTom показывает эквивалентные синтаксисы от (+) до (LEFT AND RIGHT) OUTER JOIN для Oracle, а SQL Server использует синтаксис OUTER JOIN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...