Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 JOIN или IN (SELECT ID)  [new]
Junior1997
Member

Откуда:
Сообщений: 19
Подскажите пожлста как правельно
SELECT * FROM Doc WHERE
Doc.TypeID  = ( SELECT TypeID FROM Veksels where documnentID = 2)


или

SELECT Doc.* FROM Doc  JOIN
Veksels ON  Doc.TypeID = Veksels.TypeID
WHERE   Veksels.documnentID = 2
 
16 июл 19, 12:12    [21927406]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Junior1997,

первое вообще не рабочее скорее всего. Второй вариант или EXISTS
16 июл 19, 12:15    [21927412]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
Junior1997
Member

Откуда:
Сообщений: 19
Работает первый тоже
TaPaK
Junior1997,

первое вообще не рабочее скорее всего. Второй вариант или EXISTS
16 июл 19, 12:18    [21927413]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Junior1997
Работает первый тоже
TaPaK
Junior1997,

первое вообще не рабочее скорее всего. Второй вариант или EXISTS

потому что одна запись?
16 июл 19, 12:21    [21927416]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
iap
Member

Откуда: Москва
Сообщений: 46952
TaPaK
Junior1997
Работает первый тоже пропущено...

потому что одна запись?
Судя по имени documnentID - это первичный ключ,
а значит, documnentID = 2 гарантирует не более одной записи.
Но всё это, конечно, не точно. Только предположение.
16 июл 19, 12:28    [21927422]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
mnbvcx
Member

Откуда:
Сообщений: 189
Мой бывший начальник "для надежности" сделал бы так:

SELECT Doc.* 
FROM Doc  
JOIN Veksels ON  Doc.TypeID = Veksels.TypeID
WHERE   Veksels.documnentID = 2
and Doc.TypeID in (select TypeID from Veksels where documnentID = 2)
16 июл 19, 12:32    [21927427]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
Junior1997
Member

Откуда:
Сообщений: 19
а есть ли разница по скорости работы между этими вариантами?
16 июл 19, 12:37    [21927434]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
nullin
Member

Откуда: pullin
Сообщений: 139
Junior1997, в первом случае any перед скобками.
16 июл 19, 12:45    [21927449]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
Junior1997
Member

Откуда:
Сообщений: 19
Спасибо с any значит быстрее?
nullin
Junior1997, в первом случае any перед скобками.
16 июл 19, 12:49    [21927452]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
nullin
Member

Откуда: pullin
Сообщений: 139
Junior1997, так просто заработает
16 июл 19, 12:50    [21927453]     Ответить | Цитировать Сообщить модератору
 Re: JOIN или IN (SELECT ID)  [new]
iiyama
Member

Откуда:
Сообщений: 642
Junior1997
Спасибо с any значит быстрее?

В общем случае это разные запросы и возвращают разные данные.
16 июл 19, 15:06    [21927609]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить