У меня есть два запроса к базе данных сотрудников (которые мы проверяем, эквивалентны они или нет), и мне нужно показать, нужно ли нам использовать значение IS NULL для определения, даст ли наша таблица правильный результат или нет. У нас есть три атрибута таблицы salary : to_date и from_date и emp_no , где по соглашению to_date будет иметь значение NULL, если строка salary все еще действительна (т.е. зарплата все еще актуальна для emp_no , поэтому to_date имеет значение NULL). Это сравниваемые запросы:
SELECT COUNT(*)
FROM salaries
WHERE from_date <= '1996-12-31' AND to_date >= '1996-12-01';
и
SELECT COUNT(*)
FROM salaries
WHERE from_date <= '1996-12-31' AND (to_date >= '1996-12-01' OR to_date IS NULL) ;
Цель состоит в том, чтобы определить количество работников, получивших заработную плату в декабре, и единственное условие получения зарплаты - это занятость, имеющая заработную плату. в течение как минимум одного дня в декабре.