Разница между операторами EXISTS и NOT EXISTS при работе с подзапросами заключается в том, что они проверяют наличие строк в результирующей таблице подзапроса и возвращают разные значения. 14
Оператор EXISTS возвращает значение TRUE, если в возвращаемой подзапросом таблице присутствует хотя бы одна строка. 14 Если результирующая таблица подзапроса пуста, оператор EXISTS возвращает значение FALSE. 14
Оператор NOT EXISTS работает наоборот: он возвращает значение TRUE, если подзапрос не возвращает ни одной строки. 34 То есть выходные данные составят только те уникальные строки основного запроса, для которых подзапрос не возвращает ни одной строки. 3
Таким образом, EXISTS проверяет наличие строк, а NOT EXISTS — их отсутствие. 14