- •Содержание
- •11.1. Расчет результирующих столбцов на основе арифметических выражений.
- •11.2. Агрегатные функции.
- •11.3. Использование группировок записей (group by).
- •11.4. Предложение having – наложение ограничений на группировку записей.
- •11.5. Предложение where. Задание сложных условий поиска.
- •11.5.1. Использование логических выражений.
- •11.5.2. Сравнение значения столбца с результатом значения выражения.
- •11.5.3. Использование функции between.
- •11.5.4. Использование in (список значений).
- •11.5.5. Использование функции starting.
- •11.5.6. Использование функции containing.
- •11.5.7. Использование функции upper.
- •11.5.8. Использование функции like.
- •11.5.9. Использование функции cast.
- •11.5.10. Использование значения null в условиях поиска.
- •Контрольные вопросы:
НЕДЕЛЯ |
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 |