Чтение онлайн

на главную

Жанры

Понимание SQL

Грубер Мартин

Шрифт:

* Если HAVING используется, предикат<predicate > применяется к каждой строке произведенной предложением GROUP BY, и те строки которые сделают этот предикат верным, будут выведены.

* Если ORDER BY используется, вывод имеет определенную последовательность. Каждый идентификатор столбца<column identifer> ссылается к указанному <value expression> в предложении SELECT. Если это <value expression> является указанным столбцом<column spec>, <column identifier> может быть таким же как <column spec>. Иначе <column identifier> может быть положительным целым числом, указывающим место где находится <value expression> в последовательности предложения SELECT. Вывод будет сформирован так чтобы помещать значения содержащиеся в <column identifier > в порядке возрастания, если DESC не указан. Имя идентификатора столбца<column identifier> стоящее первым в предложении ORDER BY будет предшествовать

позже стоящим именам в определении последовательности вывода.

Предложение SELECT оценивает каждую строку-кандидат таблицы в которой строки показаны независимо. Строка-кандидат определяется следующим образом:

* Если только одна ссылаемая таблица<table reference> включена, каждая строка этой таблица в свою очередь является строкой-кандидатом.

* Если более одной ссылаемой таблицы<table reference> включено, каждая строка каждой таблицы должна быть скомбинирована в свою очередь с каждой комбинацией строк из всех других таблиц. Каждая такая комбинация будет в свою очередь строкой-кандидатом.

Каждая строка-кандидат производит значения, которые делают предикат <predicate > в предложении WHERE верным, неверным, или неизвестным.

Если GROUP BY не используется, каждое<value expression> применяется в свою очередь для каждой строки-кандидата чье значение делает предикат верным, и результатом этой операции является вывод. Если GROUP BY используется, строки-кандидаты комбинируются, используя агрегатные функции. Если никакого предиката<predicate > не установлено, каждое выражение<value expression> применяется к каждой строке-кандидату или к каждой группе. Если указан DISTINCT, дубликаты( двойники) строк будут удалены из вывода.

UNION (ОБЪЕДИНЕНИЕ)

Синтаксис

<query> {UNION [ALL] <query> } . . . ;

Вывод двух или более запросов<query> будет объединен. Каждый запрос <query > должен содержать один и тот же номер <value expression> в предложение SELECT и в таком порядке что 1.. n каждого, совместим по типу данных<data type> и размеру<size> с 1.. n всех других.

Синтаксис

UPDATE <table name>

SET { <column name>=<value expression> } .,..

{[ WHERE <predlcate>]; }

| {[WHERE CURRENT OF <cursorname>]

<SQL term>]}

UPDATE изменяет значения в каждом столбце с именем<column name> на соответствующее значение<value expression>. Если предложение WHERE использует предикат<predicate>, то только строки таблиц чьи текущие значения делают тот предикат<predicate> верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем<table name> находящиеся в курсоре с именем<cursor name> меняются. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами. При отсутствия предложения WHERE - все строки меняются.

WHENEVER (ВСЯКИЙ РАЗ КАК)

Синтаксис

EXEC SQL WHENEVER <SQLcond> <actlon> <SQL term>

<SQLcond> ::=SQLERROR | NOT FOUND | SQLWARNING

(последнее - нестандартное)

<action> ::=CONTINUE | GOTO <target> | GOTO <target>

<target> ::=зависит от главного языка

Приложение E. ТАБЛИЦЫ ИСПОЛЬЗУЕМЫЕ В КНИГЕ

ТАБЛИЦА 1: ПРОДАВЦЫ

snum

sname

city

comm

1001

Peel

London

.12

1002

Serres

San Jose

.13

1004

Motika

London

.11

1007

Rifkin

Barcelona

.15

1003

Axelrod

New York

.10

ТАБЛИЦА 2:

ЗАКАЗЧИКИ

cnum

cname

city

rating

snum

2001

Hoffman

London

100

1001

2002

Giovanni

Rome

200

1003

2003

Liu

SanJose

200

1002

2004

Grass

Berlin

300

1002

2006

Clemens

London

100

1001

2008

Cisneros

SanJose

300

1007

2007

Pereira

Rome

100

1004

ТАБЛИЦА 3: ПОРЯДКИ

onum

amt

odate

cnum

snum

3001

18.69

10/03/1990

2008

1007

3003

767.19

10/03/1990

2001

1001

3002

1900.10

10/03/1990

2007

1004

3005

5160.45

10/03/1990

2003

1002

3006

1098.16

10/03/1990

2008

1007

3009

1713.23

10/04/1990

2002

1003

3007

75.75

10/04/1990

2004

1002

3008

4723.00

10/05/1990

2006

1001

3010

1309.95

10/06/1990

2004

1002

3011

9891.88

10/06/1990

2006

1001

Поделиться:
Популярные книги

Отмороженный

Гарцевич Евгений Александрович
1. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный

Я еще барон. Книга III

Дрейк Сириус
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще барон. Книга III

Солнечный флот

Вайс Александр
4. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Солнечный флот

Воронцов. Перезагрузка

Тарасов Ник
1. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Воронцов. Перезагрузка

Первый среди равных. Книга X

Бор Жорж
10. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Первый среди равных. Книга X

Гримуар темного лорда VIII

Грехов Тимофей
8. Гримуар темного лорда
Фантастика:
боевая фантастика
альтернативная история
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Гримуар темного лорда VIII

Мой муж – чудовище! Изгнанная жена дракона

Терин Рем
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Мой муж – чудовище! Изгнанная жена дракона

Чужак из ниоткуда

Евтушенко Алексей Анатольевич
1. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда

Звездная Кровь. Изгой V

Елисеев Алексей Станиславович
5. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
фантастика: прочее
5.00
рейтинг книги
Звездная Кровь. Изгой V

Отмороженный 10.0

Гарцевич Евгений Александрович
10. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 10.0

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Последний Паладин. Том 10

Саваровский Роман
10. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 10

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Светлая тьма. Советник

Шмаков Алексей Семенович
6. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Светлая тьма. Советник