72 похожих чатов

Mssql 2014 - Подскажите, почему так работает: SELECT * FROM [Egorka_TorgSoftDB].[dbo].[GoodType]

AS T1
WHERE NOT EXISTS (SELECT GoodTypeID FROM [Egorka_TorgSoftDB].[dbo].[GoodType] AS T2 WHERE T2.GoodTypeID = T1.ID) , а так нет: SELECT *
FROM [Egorka_TorgSoftDB].[dbo].[GoodType]
WHERE ID NOT IN (SELECT GoodTypeID FROM [Egorka_TorgSoftDB].[dbo].[GoodType]) ? При том что если из обеих запросов убрать NOT - они отработают одинаково правильно.

5 ответов

12 просмотров

Скорее всего в значениях есть NULL. IN обрабатывает трехзначную логику: 1 IN (2, null) --> FALSE, т.к. 1 = 2 --> false 1 = null --> unknown false OR unknown --> unknown (!= true) 1 NOT IN (2, null) --> FALSE, т.к. not(1 = 2) --> true not(1 = null) --> not(unknown) --> unknown true AND unknown --> unknown ( != true) NOT IN сработает как ожидаете, если например null значения обернуть в NVL(ID, -1). Или left outer join с условием is null Подробнее: http://www.dbatodba.com/sql-server/how-tos/typical-solutions-to-avoid-using-not-in-on-sql-server/ https://weblogs.sqlteam.com/mladenp/2007/05/18/60210/

Morgan-Ziegler Автор вопроса

Потому что ты не умеешь писать запросы

В подзапросах есть null'ы?

Похожие вопросы

Обсуждают сегодня

День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
ну так тогда какой эплы юзают набор инструкций, и тогда считаються ли они армами вообще?
Shvabrikk Nya
4
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
насколько реально, что при задействовании хардварного курсора фреимбуфер начнёт сильно искажать выводимую инфу? а то уже и понять то не могу сон это был или явь
Mixail Frolov
3
Карта сайта