Вопросы к Поиску с Алисой
Основное отличие EXISTS от SINGULAR в Firebird SQL заключается в том, как эти предикаты обрабатывают результаты подзапросов. www.firebirdsql.net fb5doc.tetrasys.fi
EXISTS возвращает TRUE, если результат подзапроса содержит хотя бы одну строку, в противном случае — FALSE. www.firebirdsql.net При этом EXISTS никогда не возвращает NULL, так как результат всегда либо есть, либо нет. fb5doc.tetrasys.fi
SINGULAR возвращает TRUE, если подзапрос возвращает ровно одну строку результата, в противном случае — FALSE. www.firebirdsql.net При этом в подзапросе может быть указано несколько выходных столбцов, так как строки всё равно не возвращаются, а проверяются только на существование. www.firebirdsql.net
Таким образом, EXISTS проверяет наличие хотя бы одной строки, а SINGULAR — существование именно одной строки.