|
Синтаксис < value expresslon > < relational op > < value expresslon > | Если либо < value expression > = NULL, либо < comparison predicate > = неизвестно; другими словами, это верно если сравнение верно или неверно если сравнение неверно. < between predicate > Синтаксис < value expression > [NOT] BETWEEN < value expression > < between predicate > - A BETWEEN B AND C , имеет такое же значение что и < predicate > - ( A >= B AND < = C). < between predicate > для которого A NOT BETWEEN B AND C, имеет такое же значение что и NOT ( BETWEEN B AND C). < value expression > может быть выведено с помощью нестандартного запроса < subquery > ( *nonstandard* ). < in prediicate > Синтаксис < value expression > [NOT] IN < value list > | < subquery > Список значений < value list > будет состоять из одного или более перечисленных значений в круглых скобках и отделяемых запятыми, которые имеют сравнимый с < value expression > тип данных. Если используется подзапрос < subquery >, он должен содержать только одно выражение < value expression > в предложении SELECT ( возможно и больше, но это уже будет вне стандарта ANSI ). Подзапрос < subquery > фактически, выполяняется отдельно для каждой строки-кандидата основного запроса, и значения которые он выведет, будут составлять список значений < value list > для этой строки. В любом случае, предикат < in predicate > будет верен если выражение < value expression > представленное в списке значений < value list >, если не указан NOT. Фраза A NOT IN (B, C) является эквивалентом фразы NOT (A IN (B, C)). < like predicate > Синтаксис < charvalue > [NOT] LIKE < pattern > [ESCAPE < charvalue > - это любое *нестандартное* выражение < value expression > алфавитно-цифрового типа. < charvalue > может быть, в соответствии со стандартом, только определенным столбцом < column spec >. Образец < pattern > состоит из строки которая будет проверена на совпадение с < charvalue >. Символ окончания < escapechar > - это одиночный алфавитно-цифровой символ. Совпадение произойдет, если верны следующие условия :
< null predicate > Синтаксис < column spec > IS [NOT] NULL < column spec > = IS NULL, если NULL значение представлено в этом столбце. Это сделает < null predicate > верным если не указан NULL. Фраза < column spec > IS NOT NULL, имеет тот же результат что и NOT ( < column spec > IS NULL ). < quantified predicate > Синтаксис < value expression > < relational op > Предложение SELECT подзапроса < subquery > должно содержать одно и только одно выражение значения < value expression >. Все значения выведенные подзапросом < subquery > составляют набор результатов < result set >. < value expression > сравнивается, Используя оператор связи < relational operator >, с каждым членом набора результатов < result set >. Это сравнение оценивается следующим образом: · Если < quantifier > = ALL, и каждый член набора результатов < result set > делает это сравнение верным, < quantified predicate > - верен. · Если < quantifier > = ANY, и имеется по крайней мере один член из набора результатов < result set > , который делает верным это сравнение, то < quantified predicate > является верным. · Если набор результатов < result set > пуст, то < quantified predicate > верен, если < quantifier > = ALL , и неверен если иначе. · Если < quantifier > = SOME, эффект - тот же что и для ANY. · Если < quantified predicate > не верен и не неверен, он - неизвестен. < exists predicate > Синтаксис : EXISTS (< subquery >) Если подзапрос < subquery > выводит одну или более строк вывода, < exists predicate > - верен; и неверен если иначе. |