![](/user_photo/2706_HbeT2.jpg)
- •1. Форматирование выходных данных запросов. 39
- •Тема 1.
- •1. Введение. История развития баз данных.
- •1. Введение. История развития баз данных
- •2. Основные понятия и определения
- •Тема 2.
- •1. Архитектура базы данных. Физическая и логическая независимость.
- •1. Архитектура базы данных. Физическая и логическая независимость
- •2. Разработка приложений в среде Microsoft Windows. Системы быстрой разработки приложений. Субд. Модели данных.
- •3. Основные этапы проектирование базы данных.
- •Тема 3.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •1. Дополнительные общие рекомендации по проектированию базы данных.
- •2. Разработка приложений в среде Microsoft Windows.
- •Тема 4.
- •1. Построение таблиц.
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •1. Построение таблиц
- •2. Запросы в Microsoft Access. Параметры запросов на выборку данных.
- •3. Операции реляционной алгебры.
- •Тема 5.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •1. Понятие технологии «Клиент-сервер». Общие сведения о языке запросов sql.
- •2. Структура sql.
- •Тема 6.
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2. Суммирование данных с помощью функций агрегирования (групповых функций).
- •1. Запрос выборки в языке sql. Выборка из одной таблицы.
- •2.Суммирование данных с помощью функций агрегирования (групповых функций).
- •Тема 7.
- •1. Форматирование выходных данных запросов.
- •2.Соединение таблиц
- •3.Вложенные подзапросы
- •4.Связанные подзапросы. Оператор exists
- •5.Вложенные и связанные подзапросы. Операторы any, all, come
- •Тема 8.
- •1. Форматирование выходных данных запросов.
- •1. Форматирование выходных данных запросов.
- •Тема 9.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •1. Запросы обновления таблиц.
- •2. Создание, модификация и уничтожение таблиц. Ограничение на множество допустимых значений данных. Значение по умолчанию.
- •3. Создание и уничтожение индексов. Поддержка ссылочной целостности.
- •Тема 10.
- •1. Создание представлений .
- •2. Определение правд доступа к данным.
- •1. Создание представлений.
- •2. Определение правд доступа к данным.
- •Тема 11.
- •1. Определение синонимов объектов. Понятие транзакций. Управление параллелизмом.
- •Тема 12.
- •1. Встроенный sql, основные понятия
- •1. Встроенный sql, основные понятия.
1. Форматирование выходных данных запросов.
Во многих СУБД, которые используют SQL, имеется специальное средство, позволяющее оформить результат запросов. Эти средства позволяют получить пользователю нечто большее, чем значение полей и функций агрегирования.
В предложении SELECT, на ряду с именами полей, могут указываться константы и выражения над полями.
Пример:
Osnum |
|
|
001 |
недобрано баллов |
0 |
002 |
-\\- |
1 |
003 |
-\\- |
2 |
… |
… |
… |
5 – ocen From оценка;
По стандарту SQL столбцы с константами и выражениями не имеют имени. Microsoft Access позволяет поименовать столбцы с помощью ключевого слова AS имя_столбца
Для нашего примера:
SELECT osnum, ”Недобрано баллов =”,
5 – ocen AS ”Баллы до 5” From ocenka;
Результаты выполнения запроса могут быть упорядочены по значению одного или нескольких столбцов, путем указания предложения ORDER BY
ORDER BY поле[ASC/DESC],…[ASC/DESC]
Где ASC – сортировка по возрастанию
DESC – сортировка по убыванию.
Пример: упорядочить данные из таблицы «студенты» по возрастанию кода студента и убыванию полученных оценок.
osnum |
odate |
ocen |
001 |
10/01/01 |
5 |
001 |
15/01/01 |
5 |
002 |
11/01/01 |
4 |
003 |
17/01/01 |
4 |
003 |
11/01/01 |
3 |
003 |
16/01/01 |
2 |
FROM оценка
ORDER BY osnum, ocen DESC;
Предложение ORDER BY может совместно использоваться с GROUP BY.
При этом операция сортировки всегда реализуется по концу выполнения запросов над уже построенной таблицей.
osnum |
AVG(ocen) |
001 |
5 |
002 |
4 |
003 |
3 |
SELECT osnum, AVG(ocen)
FROM оценка
GROUP BY osnum
ORDER BY osnum
osnum |
AVG(ocen) |
003 |
3 |
002 |
4 |
001 |
5 |
SELECT osnum, AVG(ocen)
FROM оценки
GROUP BY osnum
ORDER BY AVG(ocen);
По стандарту SQL такой запрос является ошибочным, но многие системы, в т.ч. и Access его воспринимают и обрабатывают. По стандарту SQL, в предложении ORDER BY, необходимо указывать не имя столбца а его номер.
ORDER BY 2;
Номер столбца можно указывать и для столбца с именем, но нужно помнить, что номер столбца это всегда номер столбца в запросе, а не в таблице, по которой строится запрос. Если поле, которое используется для упорядочения данных существует NULL- значение, т.е. значение не задано, то они располагаются всегда в начале или конце таблицы. Конкретный вариант стандарта не оговаривается и вопрос решается индивидуально для каждой СУБД.