Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_УБД_сем2.doc
Скачиваний:
19
Добавлен:
21.09.2019
Размер:
1 Мб
Скачать
☆

Структура предиката в предложении Where

Специфицирует условие, для которого может быть вычислено логическое значение "true", "false" или

"unknown".

Формат

<predicate> ::=

<comparison predicate>

| <between predicate>

| <in predicate>

| <like predicate>

| <null predicate>

| <quantified predicate>

| <exists predicate>

<comparison predicate> ::=

<value expression> <comp op>

{<value expression> | <subquery>}

<comp op> ::=

= | <> | < | > | <= | >=

<between predicate> ::=

<value expression>

[NOT] BETWEEN <value expression> AND <value expression>

<in predicate> ::=

<value expression> [NOT] IN

{ <subquery> | (<in value list>) }

<in value list> ::=

<value specification>

{ ,<value specification> }...

<like predicate> ::=

<column specification> [NOT] LIKE <pattern>

[ESCAPE <escape character>]

<pattern> ::=

<value specification>

<escape character> ::=

<value specification>

<null predicate> ::=

<column specification> IS [NOT] NULL

<quantified predicate> ::=

<value expression>

<comp op> <quantifier> <subquery>

<quantifier> ::=

<all> | <some>

<all> ::= ALL

<some> ::= SOME | ANY

<exists predicate> ::=

EXISTS <subquery>

Рассмотрим предикаты подробнее.

<comparison predicate> ::=

<value expression> <comp op>

{<value expression> | <subquery>}

<comp op> ::=

= | <> | < | > | <= | >=

Сравнение (операторы =, <>, <, <=, >, >=)

Наиболее распространенным условием отбора в SQL является сравнение. При сравнении СУБД вычисляет и сравнивает значения двух выражений для каждой строки данных. Выражения могут быть как очень простыми, например, содержать одно имя столбца или константу, так и более сложными, например, содержать арифметические операции. В SQL имеется шесть различных способов сравнения двух выражений.

В соответствии со спецификацией ANSI/ISO проверка на неравенство записывается как "А <> В". В ряде СУБД используются альтернативные системы записи, как, например, "А != В" (в SQL Server). Иногда такая форма записи является единственной, а иногда — только одной из допустимых форм.

Когда СУБД сравнивает значения двух выражений, могут получиться три результата:

  • если сравнение истинно, то результат проверки имеет значение TRUE;

  • если сравнение ложно, то результат проверки имеет значение false;

  • если хотя бы одно из двух выражений имеет значение NULL, то результатом проверки будет "unknown".

Контрольные вопросы

  1. Какие компоненты входят в состав оператора Select?

  2. Назначение инструкции From оператора Select.

  3. Какие функции выполняет инструкция Where оператора Select.

  4. Перечислите предикаты используемые при построении выражений в инструкции Where.