Predicates#

Predicates are truth-tests. If the predicate test is true, it returns a value. Each predicate is evaluated per row so that when the predicate is part of an entire table SELECT statement, the statement can return multiple results.

Predicates consist of a set of parameters and arguments. For example, in the following example WHERE clause:

WHERE name = ‘Smith’;

  • name = ‘Smith’ is the predicate

  • ‘Smith’ is an expression

Search condition#

A search condition combines predicates with AND, OR and NOT (and parentheses for grouping). It appears in the WHERE and HAVING clauses and in a join’s ON clause.

NOT predicatepredicate ( search_conditionsearch_condition ) AND OR

Predicate#

Each predicate is a truth-test in one of the forms below. Querona supports comparison operators, BETWEEN, IN, LIKE (with ESCAPE), IS NULL, EXISTS and the quantified ALL / SOME / ANY.

expression comparison_operatorcomparison_operator expression expression NOT BETWEEN expression AND expression expression NOT IN ( subquery expression , ) expression NOT LIKE pattern ESCAPE escape_char expression IS NOT NULL NOT EXISTS ( subquery ) expression comparison_operatorcomparison_operator ALL SOME ANY ( subquery )

One predicate form is detailed below; the rest follow standard SQL Server semantics.

IS [NOT] NULL#

Determines whether a specified expression is NULL.

Syntax#

expression IS [ NOT ] NULL

Arguments#

expression Is any valid expression.

NOT Specifies that the Boolean result has to be negated. The predicate reverses its return values, returning TRUE if the value is not NULL, and FALSE if the value is NULL.

Result Types#

Boolean