Разница между операторами EXISTS и NOT EXISTS в PostgreSQL заключается в том, что они выполняют разные задачи:
Таким образом, EXISTS проверяет наличие записей, а NOT EXISTS — отсутствие записей. 14 В комбинации с оператором NOT EXISTS можно находить записи, для которых в подзапросе нет совпадающих строк. 1
Например, с помощью EXISTS можно определить, существуют ли записи, которые соответствуют указанным критериям, а в сочетании с NOT EXISTS — найти записи, для которых в подзапросе нет совпадающих строк. 1