Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос ANSI-89 JOIN  [new]
JOIN89
Guest
Добрый день !
Вопрос именно про ANSI 89 внешние соединения (*=/=*)
Правильно ли я понимаю что в старом синтаксисе 89 при внешних (*=/=*) соединениях все что стояло в условиях WHERE однозначно интерпретировалось как условие соединения (в ANSI 92 прописывается в ON) и никак не могло служить условием фильтрации

На примере найти все записи в таблице A которых нет в таблице B для 92 через JOIN пишется достаточно понятно
select A.* 
from A LEFT JOIN B 
  on A.ID=B.ID 
WHERE B.ID IS NULL

А можно было бы написать подобное в 89 через внешнее соединение (*=) т к
select A.*
from A,B 
where A.ID*=B.ID  and B.ID is NULL

------ дает результат аналогичный  92
select A.* 
from A LEFT JOIN B 
  on A.ID=B.ID 
and B.ID IS NULL 

Фильтрации в 89 при указанной выше конструкции не происходит ....
Спасибо!
27 авг 15, 13:28    [18076271]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить