Главная страница
Навигация по странице:

  • Общая структура запроса с оператором ORDER BY

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

  • Примеры использования

  • сортировка результатов запроса. Сортировка, оператор order by


    Скачать 45.53 Kb.
    НазваниеСортировка, оператор order by
    Дата25.10.2022
    Размер45.53 Kb.
    Формат файлаpptx
    Имя файласортировка результатов запроса.pptx
    ТипДокументы
    #754213

    Сортировка, оператор ORDER BY

    При выполнении SELECT запроса, строки по умолчанию возвращаются в неопределенном порядке. Фактический порядок строк в этом случае зависит от плана соединения и сканирования, а также от порядка расположения данных на диске, поэтому полагаться на него нельзя. Для упорядочивания записей используется конструкция ORDER BY.

    Общая структура запроса с оператором ORDER BY

    SELECT поля_таблиц FROM список_таблиц

    ORDER BY столбец_1 [ASC | DESC][, столбец_n [ASC | DESC]];

    В описанной структуре запроса необязательные параметры указаны в квадратных скобках.
    • DESC — сортировка по убыванию
    • ASC (по умолчанию) — сортировка по возрастанию

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

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

    SELECT поля_таблиц FROM список_таблиц

    ORDER BY столбец_1 [ASC | DESC], столбец_2 [ASC | DESC];

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

    Правило сортировки применяется только к тому столбцу, за которым оно следует. ORDER BY столбец_1, столбец_2 DESC

    не то же самое, что

    ORDER BY столбец_1 DESC, столбец_2 DESC

    Примеры использования

    Выведем названия авиакомпаний в алфавитном порядке из таблицы Company:

    SELECT name FROM Company

    ORDER BY name;

    Сортировка строковых данных осуществляется в лексикографическом (алфавитном) порядке.

    Выведем всю информацию о полетах, отсортированную по времени вылета самолета в порядке возрастания и по времени прилета в аэропорт в порядке убывания, из таблицы Trip:

    SELECT * FROM Trip

    ORDER BY time_out, time_in DESC;

    В данном примере в начале отсортировывается информация по времени вылета. Затем там, где время вылета совпадает, отсортировывается по времени прилёта.

    Выведем все данные о покупках, совершенных Headley Quincey, отсортировав их в порядке убывания стоимости товаров:

    1. Сначала нужно узнать идентификатор Headley Quincey в таблице FamilyMembers:

    SELECT member_id from FamilyMembers

    WHERE member_name = 'Headley Quincey';

    2. Выведем все данные о покупках, совершенных Headley Quincey, из таблицы Payments:

    SELECT * FROM Payments

    WHERE family_member = (

    SELECT member_id from FamilyMembers

    WHERE member_name = 'Headley Quincey'

    );

    3. Отсортируем получившиеся данные в порядке убывания стоимости товара:

    SELECT * FROM Payments

    WHERE family_member = (

    SELECT member_id from FamilyMembers

    WHERE member_name = 'Headley Quincey'

    ) ORDER BY unit_price DESC;

    Сортировка результатов запроса. Дополнительные условия отбора групп. https://youtu.be/KWCsTdwE4FM



    написать администратору сайта