Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по JOIN / 4 сообщений из 4, страница 1 из 1
20.11.2002, 12:29:26
    #32070053
Hello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по JOIN
Добрый день. Не мог бы уважаемый ALL пролить свет на непонятную мне картину ?

Запрос 1.
SELECT F1, DATE
FROM TABLE1 T
left OUTER JOIN TABLE2 R ON T.F1=R.F1
WHERE DATE='01.01.2002' AND T.F1='000171'

Запрос 2.
SELECT F1, DATE
FROM TABLE1 T
left OUTER JOIN TABLE2 R ON T.F1=R.F1 AND DATE='01.01.2002'
WHERE T.F1='000171'

Как видно, во втором случае в join поставлена часть условия. Я думал, что результат в первом и во втором случае будет одинаков. Но я ошибся :-(
Планы запросов одинаковые, за исключением момента объединения. В первом случае используется стратегия Hash Match/Inner join, во втором - Hash Match/Left join.
Объясните, пожалуйста, разницу между этими запросами.
Спасибо.
...
Рейтинг: 0 / 0
20.11.2002, 12:38:02
    #32070057
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по JOIN
Может и ошибаюсь, но:

в первом случае ты сказал, что наплевать на условие T.F1=R.F1 но выбрать все с датой , вот он с датой все и выбрал

а во втором ты сказал, что тебе наплевать в принципе на все условия T.F1=R.F1 AND DATE='01.01.2002'
...
Рейтинг: 0 / 0
20.11.2002, 12:52:31
    #32070067
Hello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по JOIN
2 tygra
Вроде логично. Но меня больше интерисует вопрос почему планы разные. Т.е. получается что если нет условия (AND DATE='01.01.2002') в join-е, то используется стратегия Hash Match/Inner join.
А в другом случае - Hash Match/Left join. Или тут что-то другое ?
...
Рейтинг: 0 / 0
20.11.2002, 13:32:55
    #32070113
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по JOIN
См. в BOL "Specifying Joins in FROM or WHERE Clauses"
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по JOIN / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]