Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JOIN vs WHERE / 5 сообщений из 5, страница 1 из 1
07.09.2002, 19:05:06
    #32048957
BigBob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN vs WHERE
Заранее сорри за ламерский вопрос. Гуру, просвятите, плис, когда следует использовать JOIN, а когда WHERE? Скажем у меня в базе две таблицы:
1) Таблица регионов Regions
RegionId -- Идентификатор
RegionName -- Название
2) Таблица клиентов Customers
CustomerId
CastomerName
Region
Какой запрос предпочтительней?
select CustomerNik, RegionNik from Customers, Regions where RegionId = Region
или соответсвенно с JOIN
select distinctrow CustomerNik, RegionNik from Customers inner join Regions on Customer.Region = Regions.RegionId
Заранее big thanks! ;)
...
Рейтинг: 0 / 0
08.09.2002, 11:04:29
    #32048981
JOIN vs WHERE
А это дело вкуса уж точно.
как я лично считаю, то join.
по причине болшей понятности структуры запроса.

select ...
from table1
join table2 on <условия соединения>

или
select ...
from table1,table2
where <условия соединения>

кажется одинаковым, но если надо использовать left join или full join, то уже проблемы.

и тем более, если таблиц больше 2-х.
...
Рейтинг: 0 / 0
08.09.2002, 11:52:29
    #32048984
johnny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN vs WHERE
Дело в том что where это внутреннее соединение
тоесть если для организации в справочнике регионов
будет отсутствовать регион то в выборке данная организация
будет отсутствовать
...
Рейтинг: 0 / 0
08.09.2002, 12:29:14
    #32048987
toypaul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN vs WHERE
http://www.sql-server-performance.com/q&a62.asp
...
Рейтинг: 0 / 0
08.09.2002, 17:46:47
    #32048989
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JOIN vs WHERE
johnny несколько заблуждается.

Код: plaintext
1.
2.
select ... 
from table1 
join table2 on <условия соединения> 

тоже внутреннее соединение

Для внутренних соединений действительно безразлично, где соединять - в WHERE или в JOIN.
Однако MS рекомендует все же всегда использовать JOIN, так как это соответсвует стандарту SQL2.

Для внешних соединений использование синтаксиса OUTER JOUN позволяет точно и однозначно определить порядок соединения таблиц.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JOIN vs WHERE / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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