Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
03.06.2015
Размер:
1.08 Mб
Скачать

Управление данными

SQL

Оператор SELECT Вычисляемые поля. Фунции. Группировка данных.

Зудилин А.Э. 2013

Что такое вычисляемые поля

Данные, хранимые в таблицах базы данных, обычно бывают представлены не в таком виде, который необходим для ваших приложений.

Вот несколько примеров.

1)Вам необходимо отобразить поле, содержащее имя компании с ее адресом, но эта информация расположена в разных столбцах таблицы.

2)Город, область и район хранятся в отдельных столбцах (как и должно быть), но для программы печати почтовых адресов необходима эта информация в одном, корректно сформированном поле.

2

3)Данные в столбце введены с заглавными и строчными буквами, но в вашем отчете необходимо использовать только заглавные буквы.

4)В таблице с предметами заказа хранятся цены продуктов и их количество, но не стоимость (цена одного продукта, умноженная на его количество) каждого продукта. Чтобы распечатать счет, необходима стоимость каждого товара.

5)Вам необходимы общая сумма, среднее значение или результаты других расчетов, основанные на данных, имеющихся в таблице.

3

В каждом из этих примеров данные хранятся не в том виде, в котором их необходимо предоставить приложению.

Вместо того чтобы извлекать эти данные, а затем изменять

их форму при помощи клиентского приложения или отчета, лучше извлекать уже преобразованные, подсчитанные или

отформатированные данные прямо из базы данных.

Именно здесь помогут вычисляемые поля.

В отличие от всех выбранных нами ранее столбцов, вычисляемых полей на самом деле в таблице базы данных нет.

Они создаются "на лету" SQL-оператором SELECT

4

Конкатенация полей

Конкатенация - Комбинирование значений (путем присоединения их друг к другу) для получения одного "длинного" значения.

В SQL-выражении SELECT можно выполнить конкатенацию двух столбцов при помощи специального оператора.

В зависимости от СУБД это может быть знак "плюс" (+) или две вертикальные черточки (||).

В MySQL не поддерживается конкатенация при помощи оператора + или || .

Здесь необходимо использовать функцию CONCAT(), в которой указывается список элементов, по отношению к которым необходимо выполнить конкатенацию.

Предположим, что вам необходимо создать отчет по поставщику и указать его адрес как часть его имени в виде: имя (страна)

SELECT firm_name + ’ (’ + firm_country + ’)’ FROM Firms

ORDER BY firm_name

5

Функции TRIM, RTRIM,LTRIM

В большинстве СУБД поддерживаются как функция RTRIM () ,которая "обрезает" правую часть строки;

так и LTRIM () ,которая удаляет пробелы слева;

а также TRIM() ,которая "обрезает" строку слева и справа

SELECT RTRIM(firm_name) + ’ (’

+ RTRIM(firm_country) + ’)’ FROM Firms

ORDER BY firm_name

6

Использование псевдонимов полей

Вычисляемое поле не имеет имени. Иногда это не удобно. Для решения этой проблемы в SQL была включена поддержка псевдонимов

Псевдоним - это альтернативное имя для поля или значения.

Псевдонимы присваиваются при помощи ключевого слова AS.

Псевдонимы можно использовать и по-другому. Часто псевдонимы используются для переименования столбца, если реальное название сложное и трудночитаемое

SELECT RTRIM(firm_name) + ’ (’

+ RTRIM(firm_country) + ’)’ AS Название_Фирмы FROM Firms

ORDER BY firm_name

7

Выполнение математических вычислений

Еще одним способом использования вычисляемых полей является выполнение математических операций над выбранными данными.

Пример:

SELECT Название, Количество, Цена

FROM Товар

Количество * Цена AS Стоимость

WHERE Название LIKE ’*дисплей*’

8

Функции манипулирования данными

Функции — это операции, которые обычно производятся над данными, чаще всего для облегчения преобразований и манипулирования.

Примером может служить функция RTRIM ().

В отличие от SQL-операторов (например, SELECT), которые в основном поддерживаются всеми СУБД одинаково, в разных СУБД могут применяться различные функции.

Только некоторые функции в различных СУБД выполняются одинаково

9

Типы функций

1)Текстовые функции используются для управления текстовыми строками: UPPER, LOWER, …

2)Числовые функции используются для выполнения математических операций над числовыми данными: ABS, SIN, COS, SQRT, …

3)Функции даты и времени: используются для управления значениями даты и времени и для выборки отдельных частей этих значений.

4)Системные функции: возвращают информацию, специфичную для используемой СУБД (например, возвращают регистрационную информацию пользователя)

5)Статистические функции

10

Соседние файлы в папке Управл_данными