Когда обращать внимание на значения NULL в запросах SQL? - PullRequest
0 голосов
/ 24 января 2020

Я знаю, что вы не должны использовать предложение NOT IN, когда у вас есть NULL значения, с которыми вы пытаетесь сравнить. Кроме того, арифметическая c операция, включающая NULL, возвращает NULL.

Однако в других ситуациях значения NULL не вызывают проблем, например, нет проблем с такими операциями, как MAX, MIN

Итак, в каких ситуациях / операциях нужно знать NULL значения?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 24 января 2020

Вы всегда должны обращать внимание на NULL значения. Они являются допустимыми значениями для всех типов SQL (или почти всех, может быть, где-то есть несколько исключений). Они также могут быть получены в ходе обычных операций запроса (например, с помощью внешних объединений).

Что они влияют? Точное приближение состоит в том, что на все функции и операторы влияют значения NULL; большинство возвращает NULL, если какие-либо значения NULL. Конечно, существуют ARE исключения.

Кроме того, значения NULL приводят к сбою JOIN s, если не предпринимаются особые меры.

Если вы строго не определяете все столбцы как NOT NULL и избегайте внешних объединений, вы всегда должны думать о том, как значения NULL повлияют на логи c.

0 голосов
/ 24 января 2020

Большинство операций или сравнений, включающих NULL, приводят к NULL (которое не является «истинным» значением в логическом смысле, но также не равно ложному).

Наиболее заметными исключениями являются:

  • агрегатные функции (такие как sum, min, max, et c ...), которые обычно игнорируют значения NULL, если только они не являются единственными передаваемые им значения
  • функций и операторов, предназначенных для конкретной работы с такими значениями, например IFNULL(), COALESCE(), x IS NULL, x <=> y, et c ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...