Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Join более 3-х таблиц  [new]
NightSkif
Member

Откуда:
Сообщений: 98
Доброе время суток всем. Помогите разобраться. Есть три таблицы Т1(id1 int, d char(5)), Т2(id2 int, id_t1 int, d char(5)), Т3(id3 int, id_t1 int, d char(5)). Для двух таблиц я понимаю как:
SELECT T1.*, T2.* 
FROM T1 INNER JOIN T2 ON T2.ID_T1=T1.ID 
результатом запроса будут выведены данные, которые есть в T1 и T2, при условии T2.ID_T1=T1.ID.
А вот для трех таблиц, объясните, пожалуйста, каким образом будут выведены данные:
SELECT T1.*, T2.*, T3.*
FROM T1 INNER JOIN T2 
 ON T2.ID_T1=T1.ID 
	INNER JOIN T3
 ON T3.ID_T1=T1.ID 
8 июн 09, 09:54    [7275144]     Ответить | Цитировать Сообщить модератору
 Re: Join более 3-х таблиц  [new]
alx111
Member

Откуда:
Сообщений: 92
NightSkif,

результатом запроса будут выведены данные, которые есть в T1 ,T2 и Т3, при условии T2.ID_T1=T1.ID=Т3.ID_T1
8 июн 09, 10:00    [7275158]     Ответить | Цитировать Сообщить модератору
 Re: Join более 3-х таблиц  [new]
NightSkif
Member

Откуда:
Сообщений: 98
alx111
NightSkif,

результатом запроса будут выведены данные, которые есть в T1 ,T2 и Т3, при условии T2.ID_T1=T1.ID=Т3.ID_T1

Т.е. получается, если в Т3 есть запись, которая T1.ID=Т3.ID_T1 (к примеру 3=3), но при этом в таблице Т2 нет записи, где значение T2.ID_T1<>3, то запись T1.ID=Т3.ID_T1=3 не попадет в результат?
8 июн 09, 10:06    [7275186]     Ответить | Цитировать Сообщить модератору
 Re: Join более 3-х таблиц  [new]
takanaev
Member

Откуда: княжество Московское
Сообщений: 98
автор
но при этом в таблице Т2 нет записи, где значение T2.ID_T1<>3, то запись

Если бы написал «T2.ID_T1=3» или «все записи, где значение T2.ID_T1<>3», я бы ответил «да».
8 июн 09, 10:20    [7275237]     Ответить | Цитировать Сообщить модератору
 Re: Join более 3-х таблиц  [new]
NightSkif
Member

Откуда:
Сообщений: 98
takanaev
автор
но при этом в таблице Т2 нет записи, где значение T2.ID_T1<>3, то запись

Если бы написал «T2.ID_T1=3» или «все записи, где значение T2.ID_T1<>3», я бы ответил «да».

Ну да, верно. Ошибся.
8 июн 09, 10:26    [7275271]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить