Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
srs_IPOVS_BD.doc
Скачиваний:
44
Добавлен:
05.06.2015
Размер:
1 Мб
Скачать
☆

Вопросы для самоконтроля

  1. Для чего предназначено предложение SELECT оператора SELECT?

  2. Для чего предназначено предложение FROM оператора SELECT?

  3. Для чего предназначено предложение WHERE оператора SELECT?

Тема 12. Сортировка таблиц

Информация, получаемая в результате выполнения запроса, может быть упорядочена с помощью фразы

ORDER BY <имя столбца><целое>[ASCDESC] [,<имя столбца><целое>[ASCDESC]...]

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

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

Параметр ASCDESC означает вид сортировки (по возрастаниюпо убыванию соответственно). По умолчанию принимается значение ASC.

Если во фразе ORDER BY задается список полей, то это означает упорядочение по составному ключу. Фраза ORDER BY соответствует операции SORT. Столбцы, перечисленные во фразе ORDER BY, должны присутствовать во фразе SELECT.

Тема 13. Использование псевдонимов для обозначения таблиц базы данных. Самосоединение таблиц. Итоговые запросы и агрегатные функции

Вместо длинных имен таблиц в запросах можно использовать их псевдонимы, которые задаются в фразе FROM оператора SELECT:

FROM <имя таблицы> [<псевдоним>] [,<имя таблицы> [<псевдоним>]…]

В качестве псевдонима используется последовательность символов, соответствующая правилам записи имен на языке SQL.

Псевдоним удобно использовать также для обозначения копии таблицы при записи запроса. Например, определить пары жителей, получающих одинаковые доходы, можно соединив по равенству значений в столбце SumD копию А и копию В таблицы PERSON:

SELECT A.Fio,B.Fio FROM person A, person B WHERE A.SumD=B.SumD

Такой прием называется самосоединением таблиц.

Во многих запросах к базе данных не требуется той степени детализации, как в ранее рассмотренных запросах. Например, во всех запросах, перечисленных ниже, требуется узнать всего одно или несколько значений, которые подытоживают информацию, хранящуюся в базе данных:

  • Какова сумма общих доходов, получаемых всеми жителями?

  • Каковы минимальный и максимальный размеры общий доходов?

  • Каков средний размер общего дохода?

Запросы такого типа (итоговые запросы) создаются с помощью агрегатных функций и фраз GROUP BY и HAVING оператора SELECT.

Агрегатные функции предназначены для подведения итогов по информации, хранящейся в базе данных. Агрегатная функция принимает в качестве аргумента какой-либо столбец данных целиком, а возвращает одно значение, которое определенным образом подытоживает этот столбец.

Имеется шесть агрегатных функций, которые позволяют получать различные виды итоговой информации:

  • функция SUM( ) вычисляет сумму всех значений, содержащихся в столбце;

  • функция AVG( ) вычисляет среднее всех значений, содержащихся в столбце;

  • функция MIN( ) находит наименьшее среди всех значений, содержащихся в столбце;

  • функция MAX( ) находит наибольшее среди всех значений, содержащихся в столбце;

  • функция COUNT( ) подсчитывает количество значений, содержащихся в столбце;

  • функция COUNT(*) подсчитывает количество строк в таблице результатов запроса.

Например, получить ответы на запросы, перечисленные выше, можно оператором

SELECT SUM(SumD), MIN(SumD), MAX(SumD), AVG(SumD) FROM person

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]