Смысл изучения SQL заключается в выполнении определенных операций с данными, которые вы хотите. Предложение WHERE в операторе SQL позволяет вам указать, какие данные нужно получить с помощью команды SQL SELECT, но что вы можете сделать со всеми данными в результирующем наборе?

Ну, для начала вы можете отсортировать данные удобным для вас способом. Предложение SQL Order By позволяет сделать именно это.

Давайте посмотрим на пример.

ВЫБРАТЬ * ОТ КЛИЕНТА

Если предположить, что таблица CUSTOMER не проиндексирована, приведенный выше запрос вернет:

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

Вы можете добавить предложение Order By в оператор SQL, чтобы отсортировать его по нужным столбцам.

ВЫБРАТЬ * ИЗ ЗАКАЗА ПО Идентификатору;

Результаты теперь отсортированы по идентификатору.

Способ сортировки столбца по умолчанию — упорядочить значения в порядке возрастания, т. е. начать с наименьшего значения. Чтобы отсортировать столбец в порядке убывания, т. е. начать с наибольшего значения, вы добавляете ключевое слово DESC в предложение ORDER BY.

ВЫБРАТЬ * ИЗ ЗАКАЗА ПО ИДЕНТИФИКАТОРУ DESC;

Поскольку порядок сортировки по умолчанию — восходящий, вам не нужно добавлять ключевое слово ASC в предложение ORDER BY.

ВЫБРАТЬ * ИЗ ЗАКАЗА ЗАКАЗЧИКА ПО ИДЕНТИФИКАТОРу ASC;

Давайте добавим еще один столбец в предложение SQL ORDER BY.

ВЫБРАТЬ * ИЗ ЗАКАЗА КЛИЕНТА ПО ИДЕНТИФИКАТОРу DESC, стране DESC;

Этот оператор SQL SELECT сортирует результаты сначала по идентификатору в порядке убывания, а затем по стране в порядке убывания. Поскольку значения Id уникальны, вы получите точно такие же результаты, как если бы вы сортировали только по столбцу Id.

Что, если мы поменяем местами два столбца в предложении ORDER BY?

ВЫБРАТЬ * ИЗ ЗАКАЗА КЛИЕНТА ПО СТРАНЕ DESC, идентификатору DESC;

Механизм SQL сначала сортирует результаты по стране в порядке убывания, а затем для записей каждой страны сортирует их по идентификатору в порядке убывания.

Давайте добавим еще один столбец в предложение ORDER BY.

ВЫБРАТЬ * ИЗ ЗАКАЗА КЛИЕНТА ПО СТРАНЕ DESC, имени ASC, идентификатору DESC;

Механизм SQL сначала сортирует результаты по стране в порядке убывания, затем по имени в порядке возрастания и, наконец, по идентификатору в порядке убывания.

Следует отметить, что столбцы в предложении ORDER BY не обязательно должны быть в предложении SELECT. Другими словами, вы можете сделать это:

ВЫБЕРИТЕ НАЗВАНИЕ ИЗ ЗАКАЗА ЗАКАЗЧИКА ПО СТРАНЕ DESC, имени ASC, идентификатору DESC;

Первоначально опубликовано на www.ilearnsql.com.