SQL ALL COMMAND, SUBQUERY ВОЗВРАЩАЕТСЯ НУЛЬ, НО ВЫХОД ДАЕТ ВСЕ ЗАПИСИ - PullRequest
0 голосов
/ 03 июля 2019

Используя команду ALL в SQL, подзапрос возвращает значения NULL, но запрос дает все записи в таблице.

SELECT * FROM STORES
WHERE STORE_NUMBER = ALL(SELECT STORE_NUMBER FROM STORES WHERE STORE_NUMBER>10000)

Подзапрос:

SELECT STORE_NUMBER FROM STORES WHERE STORE_NUMBER>10000

Возвращает 0 записей

Но когда я запускаю весь запрос, он дает мне все записи в таблице Stores. Разве он не должен давать значения NULL?

1 Ответ

1 голос
/ 03 июля 2019

Ну, вот как = ALL должен работать в соответствии со Stnadrad SQL: если подзапрос не возвращает строк (или все возвращенные строки имеют одинаковое значение), условие оценивается как TRUE.

Но почему вы хотите использовать = ALL, это очень редко?

...