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

на главную - закладки

Жанры

Понимание 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

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

Мажор. Дилогия.

Соколов Вячеслав Иванович
Фантастика:
боевая фантастика
8.05
рейтинг книги
Мажор. Дилогия.

Космос – место что надо (Жизни и эпохи Сан Ра)

Швед Джон Ф.
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Космос – место что надо (Жизни и эпохи Сан Ра)

Константин Коровин вспоминает…

Зильберштейн Илья Самойлович
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Константин Коровин вспоминает…

Иммунитет Вселенной (Путь Знахаря)

Утолин Константин Владимирович
Фантастика:
научная фантастика
5.00
рейтинг книги
Иммунитет Вселенной (Путь Знахаря)

И тогда мы скоро полетим на Марс, если только нам это будет нужно

Павлов Алексей Андреевич
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
И тогда мы скоро полетим на Марс, если только нам это будет нужно

Красная книга ВЧК. В двух томах. Том 2

Велидов А. С.
Научно-образовательная:
история
6.25
рейтинг книги
Красная книга ВЧК. В двух томах. Том 2

Танец убийц

Фагиаш Мария
Проза:
историческая проза
5.00
рейтинг книги
Танец убийц

Красные звезды. Полная трилогия

Березин Федор Дмитриевич
Красные звезды
Фантастика:
альтернативная история
5.70
рейтинг книги
Красные звезды. Полная трилогия

Старик

Иванин Александр
Эпоха мертвых
Фантастика:
боевая фантастика
постапокалипсис
7.32
рейтинг книги
Старик

Кенди

Неизвестен 3 Автор
Детские:
прочая детская литература
5.00
рейтинг книги
Кенди

Война и наказание: Как Россия уничтожала Украину

Зыгарь Михаил Викторович
Документальная литература:
прочая документальная литература
публицистика
5.00
рейтинг книги
Война и наказание: Как Россия уничтожала Украину

Стихотворения и поэмы (основное собрание)

Бродский Иосиф Александрович
Поэзия:
поэзия
5.00
рейтинг книги
Стихотворения и поэмы (основное собрание)

Рейд к звездам

Ван Вогт Альфред Элтон
Фантастика:
научная фантастика
5.00
рейтинг книги
Рейд к звездам

Акелдама - кровавое поле битвы. Книга 3. Часть 2

Вихрева Елена
3. Акелдама - кровавое поле битвы
Фантастика:
фэнтези
8.00
рейтинг книги
Акелдама - кровавое поле битвы. Книга 3. Часть 2