Сортировка по нескольким столбцам

Теоретические сведения

Любой запрос хранится в базе данных в формате SQL (Structured Query Language — язык структурированных запросов). Основное достоинство этого языка состоит в том, что он является стандартом для большинства реляционных СУБД. SQL имеет унифицированный набор инструкций, которые можно использовать во всех СУБД, поддерживающих этот язык.

Ядром языка SQL является инструкция SELECT (Что выбрать?). Она используется для отбора полей из реляционных таблиц и содержит три основных предложения: FROM (Отку-да выбирать?), WHERE (За каким условием?), ORDER BY (Как сортировать?).

При формировании запроса на SQL обязательными в использовании являются SELECT и FROM. Программный модуль заканчивается знаком «;».

Синтаксис инструкции SELECT:

SELECT [ALL | DISTINCT] <список данных>

FROM <список таблиц>

[WHERE <условие выборки>]

[GROUP BY <имя столбца> [,<имя столбца>]... ] [HAVING <условие поиска>]

[ORDER BY <спецификация> [,<снецификация>]...]

Оператор SELECT позволяет производить выборку и вычисления над данными из од-ной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторяющиеся строки. По умолча-нию в ответную таблицу включаются все строки, в том числе и повторяющиеся.

 

Ход работы

1. Включить в запрос все поля Таблицы 1. Для того, чтобы создать запрос в SQL Access, переходим во вкладку «Создание», выбираем «Конструктор запросов».

Активировав «Конструктор…», закрываем открывшееся окно и слева вверху выбираем «SQL режим».

Далее вводим данные с использованием разделов оператора SELECT и FROM. Ставим «*», т.к. выбрали все поля, «таблица1» - указание на источник выборки полей.

Жмем восклицательный знак «Выполнить» на панель слева наверху, чтобы увидеть результат.

2. Включить в запрос три поля из Таблицы 1, выполнить сортировку по второму полю по возрастанию.

Алгоритм выполнения повторяет предыдущее задание.

Примечание 1. Для создания сортировки по возрастанию применяем операнд Order by, для сортировки по убыванию добавляем DESC в конце. Шрифт названий таблиц, полей, операторов не имеет значение (только в отношении вывода, так как пишем «нагрузка» с малой буквы, название столбца в запросе будет выглядеть также). Используем «[…]», когда присутствуют недопустимые символы, включая пробелы и разделители.

3.   Создать запрос на основании Таблицы 2, включить в запрос текстовое и числовое поле, для числового задать условие: значение поля принадлежит промежутку.

Примечание 2. Здесь используем два новых операнда WHERE (для задания условия) и BETWEEN (c логической связкой AND). Условие, наложенное Количество студентов, ограничивает его от 20 до 30. По личному опыту: очень важно не ошибиться с названием поля!

4. Создать запрос на основании Таблицы 2 с подведением итогов.

Используем операнд групповую операцию AVG (определяет среднее значение в группе) и операнд GROUP BY (позволяет выделять в результирующем множестве записей группы). В итоге происходит группировка записей путем объединения строк с одинаковыми Дисциплинами и высчитывается среднее количество студентов.

Примечание 3. Используем Avg(…) для нахождения среднего сразу после операнда Select. Используем команду AS (задает новое имя полям или таблицам при выборке из базы), чтобы при выводе поле именовалось «Среднее количество».

5. Создать запрос на основании Таблицы1 и Таблицы2, вывести в запрос по два поля из каждой таблицы.

Используем операнд INNER JOIN (внутреннее объединение), после которого указываем «Таблицу2» с ON (здесь указываем поле из таблицы, к которой подключаем). Следует понимать, что необходимо указать принадлежность поля («Таблица1.Номер» или Таблица2.[Номер кафедры]). Мы указываем условие равенства значений полей, хотя можно использовать и иные символы.

 

Контрольный вопросы

1. Синтаксис инструкции SELECT:

SELECT [ALL | DISTINCT] <список данных>

FROM <список таблиц>

[WHERE <условие выборки>]

[GROUP BY <имя столбца> [,<имя столбца>]... ] [HAVING <условие поиска>]

[ORDER BY <спецификация> [,<снецификация>]...]

Оператор SELECT позволяет производить выборку и вычисления над данными из одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторяющиеся строки. По умолчанию в ответную таблицу включаются все строки, в том числе и повторяющиеся.

 

.2. Как в инструкции SELECT выполнить сортировку записей?

Операнд ORDER BY задает порядок сортировки результирующего множества и пред-ставляет собой пару вида: <имя столбца> [ ASC | DESC ].

DESC - сортировка по убыванию

ASC (по умолчанию) - сортировка по возрастанию

Сортировка по нескольким столбцам.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: