- •Московский авиационный институт (Государственный технический университет)
- •Управление базами данных
- •4 Семестр
- •Лекция 1
- •Роль sql
- •Преимущества sql
- •Лекция 2
- •Лекция 3
- •Лекция 4
- •Структура предиката в предложении Where
- •Лекция 5
- •Лекция 6
- •Использование множества таблиц в одном запросе.
- •Лекция 7
- •Лекция 8
- •Представления (View)
- •Создание представлений (инструкция create view)
- •Лекция 9
- •Контроль над обновлением представлений (предложение with check option)
- •Лекция 10
- •Лекция 11
- •Триггеры
- •Лекция 12
- •Лекция 13
- •Лекция 14
- •Управление распределенными базами данных
- •Лекция 15
- •Лекция 16
- •Литература
Структура предиката в предложении 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".
Контрольные вопросы
Какие компоненты входят в состав оператора Select?
Назначение инструкции From оператора Select.
Какие функции выполняет инструкция Where оператора Select.
Перечислите предикаты используемые при построении выражений в инструкции Where.
