Предикат существования

Функция

Определение проверки на пустое множество значений.

Спецификация
 
< предикат существования >::=
Общие правила
  1. Результат < предиката существования > имеет значение «истина» (TRUE) только в том случае, если результат < проверяемого запроса > не пуст, в противном случае возвращается значение «ложь» (FALSE).

    Примечание

    Обычно предикат EXISTS используется в сочетании с внешними ссылками.

Примеры
  1. select name from person
    where exists(select * from auto
    where personid=person.personid);
  2. select name from person
    where exists(table auto
    where personid=person.personid);
  3. select name from person
    where exists (values (100));
  4. В таблице со столбцом типа int нужно узнать первое пропущенное по порядку значение, т.е. если в таблице есть строки: 1 5 2 7 8 10, запрос должен выдать в качестве ответа 3:

    select min(a1.id+1) as answer
    from tab as a1
    where not exists (select 1 from tab as a2 where a1.id +1 = a2.id );