Работа с NULL значениями в SQL Часто бывает такое, что вместо явного значения данных в таблице попадаются NULL - "пустые" значения. И когда стоит задача отфильтровать данные, то у неопытных аналитиков и инженеров могут возникать сложности с такими пустыми значениями. Почему так происходит? В большинстве случаев фильтры пишутся с указанием явных значений в данных: конкретная строка/строки, число/числа, дата/даты Например, найти заказы, в которых участвовали продукты с id 4, 7, 9 SELECT * FROM orders WHERE product_id IN (4,7,9) Здесь все понятно. А если нужно наоборот исключить такие продукты из запроса? SELECT * FROM orders WHERE product_id NOT IN (4,7,9) Тоже вроде ок. НО если в таблице есть строки где product_id будет значением NULL, то такие строки не попадут ни в первый ни во второй запрос - а значит могут потеряться в аналитике совсем. Помните про этот момент и не забывайте про конструкции IS NULL и IS NOT NULL - это фильтры, которые позволяют работать с пустыми значениями и не