Search conditions

Function

To specify a search condition for a WHERE clause, a HAVING clause, a CHECK clause, a JOIN clause, or an IF expression.

Syntax

{ expression compare expression
| expression compare { ANY | SOME| ALL } ( subquery )
| expression IS [ NOT ] NULL
| expression [ NOT ] BETWEEN expression AND expression
| expression [ NOT ] LIKE expression [ESCAPE expression]
| expression [ NOT ] IN ( { expression  | subquery  |
... value-expr1 , value-expr2 [, value-expr3 ] … } )
| column-name [ NOT ] CONTAINS ( … word1  [, word2,] [, word3 ] … )
| EXISTS ( subquery )
| NOT condition
| condition AND condition
| condition OR condition
| ( condition )
| ( condition , estimate )
| condition IS [ NOT ] { TRUE | FALSE | UNKNOWN }

Parameters

compare:
{  = | > | < | >= | <= | <> | != | !<  | !> }

Usage

Anywhere

Authorization

Must be connected to the database

Example

For example, the following query retrieves the names and birth years of the oldest employees:

SELECT name, year_of_birth 
FROM employees 
WHERE year_of_birth <= ALL (SELECT year_of_birth FROM employees);

The subqueries that provide comparison values for quantified comparison predicates might retrieve multiple rows but can have only one column.

Side effects

None

See also

“Expressions”.

Description

Conditions are used to choose a subset of the rows from a table, or in a control statement such as an IF statement to determine control of flow.

SQL conditions do not follow Boolean logic, where conditions are either true or false. In SQL, every condition evaluates as one of TRUE, FALSE, or UNKNOWN. This is called three-valued logic. The result of a comparison is UNKNOWN if either value being compared is the NULL value. For tables showing how logical operators combine in three-valued logic, see “Three-valued logic”.

Rows satisfy a search condition if and only if the result of the condition is TRUE. Rows for which the condition is UNKNOWN do not satisfy the search condition. For more information, see “NULL value”.

Subqueries form an important class of expression that is used in many search conditions. For more information, see “Subqueries in search conditions”.

The different types of search conditions are discussed in the following sections.