Введение в предложение ORDER BY в SQL

Предложение ORDER BY в SQL помогает нам классифицировать наши данные в порядке возрастания или убывания в зависимости от столбцов наших таблиц. ORDER BY - это ключевое слово, используемое в нашем запросе, чтобы помочь нам отсортировать данные. По умолчанию несколько баз данных классифицируют результаты, возвращаемые запросом, в порядке возрастания. Чтобы отсортировать данные в записях в порядке убывания, мы используем ключевое слово DESC в нашем запросе. У нас также есть ключевое слово ASC, чтобы классифицировать данные в порядке возрастания, хотя в основном мы не используем его из-за настроек базы данных по умолчанию.

Параметры предложения ORDER BY в SQL

  • column_name: это указывает имя столбца, который мы хотим получить, на основе которого должны быть расположены данные.
  • table_name: указывает на имя таблицы, из которой должны быть получены записи. Нам нужно иметь хотя бы одно имя таблицы в этом параметре.
  • ГДЕ условие: это необязательный параметр. Предложение WHERE содержит условия, которые мы должны выполнить для данных, которые будут выбраны.
  • ASC : это ключевое слово, используемое для сортировки данных столбца в порядке возрастания. Если ключевое слово не указано, по умолчанию данные сортируются в порядке возрастания.
  • DESC: это ключевое слово, используемое для сортировки данных столбца в порядке убывания.
  • |: Это просто индикатор «ИЛИ», так как мы должны использовать ASC или DESC в нашем запросе соответственно для результатов.

ЗАКАЗАТЬ по пункту

Синтаксис ORDER BY:

SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);

Синтаксис для сортировки данных по одному столбцу

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

Синтаксис

SELECT * FROM table_name ORDER BY column_name ASC

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

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

Синтаксис

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Примеры предложения ORDER BY

Давайте рассмотрим различные примеры, чтобы лучше понять предложение ORDER BY.

1. Пример сортировки результатов по возрастанию

Чтобы классифицировать результаты в порядке возрастания, мы можем использовать ключевое слово ASC. Если не задано ключевое слово, ASC или DESC, то по умолчанию сортируется по возрастанию. Позвольте нам понять это с помощью примера. У нас есть таблица сотрудников.

EmployeeIDEmployeeLastNameEmployeeFirstNameЭлектронный идентификатор
001 Дональд Джо
002 кузнец Джейми
003 Джонс Эми
004 Рейнольдс Энди
005 Томас Салли
006 коричневый Дэн

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

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Результат

EmployeeIDEmployeeLastNameEmployeeFirstNameЭлектронный идентификатор
006 коричневый Дэн
001 Дональд Джо
003 Джонс Эми
004 Рейнольдс Энди
002 кузнец Джейми
005 Томас Салли

В этом примере возвращаются все записи из таблицы Employee, отсортированные по возрастанию в соответствии с полем EmployeeLastName. Мы также можем использовать ключевое слово ASC следующим образом, чтобы получить тот же результат.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

2. Пример для сортировки результатов в порядке убывания

Мы используем ключевое слово DESC, когда хотим отсортировать наши данные в порядке убывания, в нашем предложении ORDER BY. Позвольте нам понять это с помощью примера. У нас есть та же таблица Employee, содержащая следующие данные.

EmployeeIDEmployeeLastNameEmployeeFirstNameЭлектронный идентификатор
001 Дональд Джо
002 кузнец Джейми
003 Джонс Эми
004 Рейнольдс Энди
005 Томас Салли
006 коричневый Дэн

Нам нужны только сотрудники, чей EmployeeID больше 2, и наши данные должны быть отсортированы в порядке убывания. Мы используем следующий оператор SQL для того же самого и получаем таблицу результирующего набора только с 4 записями.

SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;

Результат:

EmployeeID EmployeeLastName EmployeeFirstName Электронный идентификатор
006 коричневый Дэн
005 Томас Салли
004 Рейнольдс Энди
003 Джонс Эми

3. Пример для сортировки результатов по их относительному положению

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

EmployeeIDEmployeeLastNameEmployeeFirstNameЭл. адрес
001 Дональд Джо
002 кузнец Джейми
003 Джонс Эми
004 Рейнольдс Энди
005 Томас Салли
006 коричневый Дэн

Используя оператор SQL следующим образом, мы можем расположить данные в порядке убывания EmployeeID. Мы также утверждали, что нам нужны только два столбца из таблицы, а именно EmployeeID и EmployeeLastName, наряду с использованием предложения WHERE, чтобы указать, что нам не нужна строка, содержащая EmployeeID 003.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

Результат

EmployeeIDEmployeeLastName
006 коричневый
005 Томас
004 Рейнольдс
002 кузнец
001 Дональд

Поскольку столбец в позиции 1 - это EmployeeID, результирующий набор сортируется в соответствии с EmployeeID.

Вывод

В SQL оператор SELECT не возвращает данные в каком-либо определенном порядке. Чтобы гарантировать конкретный заказ, мы используем предложение ORDER BY. ORDER BY сортирует по одному или нескольким столбцам. Записи возвращаются в порядке возрастания или убывания. Если ключевое слово ASC или DESC не было предоставлено, результаты будут классифицированы в порядке возрастания.

Рекомендуемая статья

Это было руководство к предложению ORDER BY в SQL. Здесь мы обсуждаем параметры и различные примеры предложения ORDER BY вместе с синтаксисом. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Преимущества NoSQL
  2. Инструменты управления SQL
  3. Строковые функции T-SQL
  4. Типы данных PostgreSQL
  5. Различные типы данных SQL с примерами