Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Зачем нужен RIGHT JOIN / 6 сообщений из 6, страница 1 из 1
03.11.2004, 20:44
    #32767606
ArtLight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужен RIGHT JOIN
Долго думал, куда писать вопрос, решил сюда.
Вообще-то неплохо было создать форум "Общие вопросы SQL" для общих вопросов и философии так сказать).
Не могу найти ни в одной книжке. Зачем нужен RIGHT, если есть LEFT.
Нет, ну понятно, что если изменить в запросе LEFT на RIGHT, то результат изменится (и по скорости тоже). Но если при изменении еще таблицы местами поменять в запросе, то он же тем же будет.
Может я тонкостей не знаю, или это просто там где лево и право должно быть?
...
Рейтинг: 0 / 0
03.11.2004, 21:10
    #32767621
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужен RIGHT JOIN
Ну есть же "больше", а есть "меньше":) ИМХО RIGHT JOIN и LEFT JOIN - одно и то же, а вот RIGHT OUTER JOIN и LEFT OUTER JOIN при том же порядке таблиц уже отличаются.
...
Рейтинг: 0 / 0
04.11.2004, 07:31
    #32767802
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужен RIGHT JOIN
Это сделано исключительно для полноты описания. Все возможные комбинации должны поддерживаться.

left outer
right outer
left inner
right inner
...
Рейтинг: 0 / 0
04.11.2004, 09:06
    #32767869
Зачем нужен RIGHT JOIN
2Cat2:
а результаты left inner join и right inner join разве будут различными?))
...
Рейтинг: 0 / 0
04.11.2004, 09:16
    #32767881
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужен RIGHT JOIN
Denis PopovНу есть же "больше", а есть "меньше":) ИМХО RIGHT JOIN и LEFT JOIN - одно и то же, а вот RIGHT OUTER JOIN и LEFT OUTER JOIN при том же порядке таблиц уже отличаются.

BOL:
LEFT JOIN or LEFT OUTER JOIN
The result set of a left outer join includes all the rows from the left table specified in the LEFT OUTER clause, not just the ones in which the joined columns match. When a row in the left table has no matching rows in the right table, the associated result set row contains null values for all select list columns coming from the right table

смысл написанного: OUTER можно не писать, с RIGHT'ом то же самое

теперь что касается left inner :-)

про контрукцию left inner join QA пишет:

Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'inner'.


теперь что касается ВСЕХ возможных комбинаций:
BOL:
INNER JOIN
LEFT JOIN or LEFT OUTER JOIN
RIGHT JOIN or RIGHT OUTER JOIN
FULL JOIN or FULL OUTER JOIN
CROSS JOIN

надо читать BOL, особенно Денису Попову
...
Рейтинг: 0 / 0
04.11.2004, 14:36
    #32768884
ArtLight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем нужен RIGHT JOIN
Да, насчет левого и правого внутреннего объединения было загнуто, внутреннее тем и слабо, что NULL не возвращает в ключевых полях:)
В общем делаем вывод, что все можно одним левым или одним правым?:)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Зачем нужен RIGHT JOIN / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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