Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 07 Лекция 2 (11).doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
196.61 Кб
Скачать

НЕДЕЛЯ

7

ЛЕКЦИЯ

2 (11)

ТЕМА

Оператор SELECT (часть 2).

Содержание

11.1. Расчет результирующих столбцов на основе арифметических выражений. 1

11.2. Агрегатные функции. 3

11.3. Использование группировок записей (GROUP BY). 5

11.4. Предложение HAVING – наложение ограничений на группировку записей. 6

11.5. Предложение WHERE. Задание сложных условий поиска. 7

11.5.1. Использование логических выражений. 8

11.5.2. Сравнение значения столбца с результатом значения выражения. 9

11.5.3. Использование BETWEEN. 9

11.5.4. Использование IN (список значений). 10

11.5.5. Использование STARTING. 11

11.5.6. Использование CONTAINING. 12

11.5.7. Использование функции UPPER. 13

11.5.8. Использование LIKE. 13

11.5.9. Использование функции CAST. 15

11.5.10. Использование значения NULL в условиях поиска. 15

11.1. Расчет результирующих столбцов на основе арифметических выражений.

Арифметические выражения используются для расчета значений вычисляемых столбцов результирующего набора данных. При их формировании следует придерживаться общих правил формирования арифметических выражений, принятых в алгоритмических языках, например Object Pascal для Delphi. При этом в списке возвращаемых столбцов после слова SELECT вместо имени вычисляемого столбца указывается выражение:

SELECT [DISTINCT ALL] {* | <столбец1> [, <выражение1>]}

FROM <таблица1> [,<таблица2> …]

ПРИМЕР

Для каждой книги из таблицы 4.9 определим произведение ее цены на сумму значений кода книги и фонда книги.

SELECT Code, InventaryNumber, (BookCode + FundCode) * Cost

FROM BookInventaryNumbers

Результат выполнения запроса приведен в таблице 11.1.

Таблица 11.1

Code

InventaryNumber

Column3

1

4567890

15,56

2

4510000

66,99

3

4532477

136,04

4

4512890

64,95

5

4678532

397,46

6

4632112

80,80

Как видно из таблицы 11.1, результат вычисления выражения (BookCode + FundCode) * Cost для каждой записи из таблицы BookInventaryNumbers записан в сгенерированный столбец, которому по умолчанию присвоено имя Column3. В случае, если нужно присвоить имя столбцу, содержащему результаты вычисления выражения, это имя можно указать после выражения вслед за ключевым словом AS:

SELECT ... {* | <значение1> [, <выражение1 [AS <имя столбца>]> ...]}

ПРИМЕР

Выдаваемому в предыдущем примере вычисляемому столбцу присвоим имя EXAMPLE.

SELECT Code, InventaryNumber,

(BookCode + FundCode) * Cost AS Example

FROM BookInventaryNumbers

Результат выполнения запроса приведен в таблице 11.2.

Таблица 11.2

Code

InventaryNumber

Example

1

4567890

15,56

2

4510000

66,99

3

4532477

136,04

4

4512890

64,95

5

4678532

397,46

6

4632112

80,80