Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум SQL.rtf
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
929 Кб
Скачать
☆

Исключение дубликатов строк

Если необходимо исключить дублирующие­ся значения, следует в инструкцию SELECT поместить клю­чевое слово DISTINCT

Пример №3. Требуется получить список №ЗК студентов, сдававших сессию из таблицы Академичекая справка.

Решение

Запишите оператор

SELECT [Академичекая справка].№зк

FROM [Академичекая справка];

Проблема в том, что для этого оператора SELECT показывает каждое появление каждого №зк, обнаруженного в таблице. А нам необходимо вернуть уникальные строки. Для этого используется необязательное ключевое слово DISTINCT (по одному).

SELECT DISTINCT [Академичекая справка].№зк

FROM [Академичекая справка];

Запустите запрос и просмотрите результат.

Ключевое слово DISTINCT можно использовать также и для составных столбцов.

Пример №4. Из таблицы Академичекая справка запросить ФИОстудента и предмет.

Решение

SELECT DISTINCT фиоСтудента, предм

FROM [Академичекая справка];

Оператор SELECT возвращает строки, которые содержат уникальные записи и показывет различия между одинаковыми фамилиями.

Предложение order by

В общем случае строки в результирующей таблице SQL-запроса не упорядочены каким-либо определенным образом. Однако их можно требуемым образом отсортиро­вать, для чего в оператор SELECT помещается фраза ORDER BY. Фраза ORDER BY включает список разделенных запятыми идентификаторов столбцов, по которым требуется упорядочить результирующую таблицу запроса. Идентификатор столбца может пред­ставлять собой либо его имя, либо номер, который идентифицирует элемент списка SELECT его позицией в этом списке. Самый левый элемент списка имеет номер 1, сле­дующий — номер 2 и т.д. Номера столбцов могут использоваться в тех случаях, ко­гда столбцы, по которым следует упорядочить результат, являются вычисляемыми, а фраза AS с указанием имени этого столбца в операторе SELECT отсутствует. Фраза ORDER BY позволяет упорядочить выбранные записи в порядке возрастания (ASC) или убывания (DESC) значений любого столбца или комбинации столбцов, независимо от того, присутствуют эти столбцы в таблице результатов или нет. Однако в некоторых диалектах требуется, чтобы фраза ORDER BY обязательно присутствовала в списке вы­борки оператора SELECT. В любом случае фраза ORDER BY всегда должна быть послед­ним элементом в операторе SELECT.

Пример №5. Из таблицы Академическая справка составьте список студентов, используйте №зк, фак, ФиоСтудента. Отсортируйте список по ФиоСтудента (по убыванию).

Решение

SELECT [Академичекая справка].№зк, [Академичекая справка].фиоСтудента, [Академичекая справка].фак

FROM [Академичекая справка]

ORDER BY [Академичекая справка].фиоСтудента DESC;

Пример №6. Из таблицы Академическая справка составьте список студентов, используйте №зк, фак, ФиоСтудента. Отсортируйте список по ФиоСтудента (по убыванию), а по полю ФАК - по возрастанию