Въведение в ПОРЪЧКА ПО клауза в SQL

Клауза ORDER BY в SQL ни помага да категоризираме данните си във възходящ или низходящ ред, в зависимост от колоните на нашите таблици. ORDER BY е ключовата дума, използвана в нашата заявка, за да ни помогне да сортираме данните. По подразбиране няколко бази данни категоризират резултатите, върнати от заявката, във възходящ ред. За да подредим данните, присъстващи в записите, в низходящ ред, използваме ключовата дума DESC в нашата заявка. Имаме и ключовата дума ASC да категоризираме данните във възходящ ред, макар че най-вече не ги използваме поради настройките по подразбиране на базата данни.

Параметри на ORDER BY клауза в SQL

  • име на колона : Това посочва името на колоната, което искаме да извлечем въз основа на които да се подреждат данните.
  • table_name: Това посочва името на таблицата, от която трябва да се получат записите. Трябва да имаме поне едно име на таблицата в този параметър.
  • WHERE условие: Това е незадължителен параметър. Клаузата 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

Примери за поръчка по клауза

Нека разгледаме различни примери, за да разберем по-добре клаузата ПОРЪЧКА ПО

1. Пример за сортиране на резултатите във възходящ ред

За да категоризираме резултатите във възходящ ред, можем да използваме ключовата дума ASC. Ако не е предоставена нито ключова дума, нито ASC, нито DESC, след това стандартният ред за сортиране е възходящ ред. Нека разберем това с помощта на пример. Имаме таблица на служителите.

EmployeeIDEmployeeLastNameEmployeeFirstNameИмейл ID
001 Доналд Jo
002 ковач Джейми
003 Джоунс Ейми
004 Рейнолдс Анди
005 Томас излет
006 кафяв Дан

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

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

резултат

EmployeeIDEmployeeLastNameEmployeeFirstNameИмейл ID
006 кафяв Дан
001 Доналд Jo
003 Джоунс Ейми
004 Рейнолдс Анди
002 ковач Джейми
005 Томас излет

Този пример връща всички записи от таблицата на служителя, подредени във възходящ ред според полето EmployeeLastName. Можем също така да използваме ключовата дума ASC както следва, за да получим същия резултат.

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

2. Пример за сортиране на резултатите в низходящ ред

Използваме ключовата дума DESC, когато искаме да сортираме данните си в низходящ ред, в клаузата ни ПОРЪЧАЙТЕ. Нека разберем това с помощта на пример. Имаме същата таблица Служител, съдържаща следните данни.

EmployeeIDEmployeeLastNameEmployeeFirstNameИмейл ID
001 Доналд Jo
002 ковач Джейми
003 Джоунс Ейми
004 Рейнолдс Анди
005 Томас излет
006 кафяв Дан

Нуждаем се само от служители, чийто идентификационен номер на служителя е по-голям от 2 и се нуждаем от нашите данни, подредени в низходящ ред. Използваме следния SQL оператор за същото и получаваме таблицата с резултати с само 4 записа.

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

Резултат:

EmployeeID EmployeeLastName EmployeeFirstName Имейл ID
006 кафяв Дан
005 Томас излет
004 Рейнолдс Анди
003 Джоунс Ейми

3. Пример за сортиране на резултатите по тяхната относителна позиция

Можем също така да подредим данните си по относителната позиция на колоните, където 1 представлява първото поле, 2 представлява второто поле, 3 представлява третото поле и така нататък. Нека се опитаме да подредим данните в нашата таблица на служителите според относителните позиции.

EmployeeIDEmployeeLastNameEmployeeFirstNameелектронна поща
001 Доналд Jo
002 ковач Джейми
003 Джоунс Ейми
004 Рейнолдс Анди
005 Томас излет
006 кафяв Дан

Използвайки SQL израза по следния начин, можем да подредим данните в низходящ ред на EmployeeID. Ние също така твърдим, че се нуждаем само от две колони от таблицата, а именно EmployeeeID и 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. ПОРЪЧАЙТЕ ПО сортиране въз основа на една или повече колони. Записите се връщат във възходящ или низходящ ред. Ако не е предоставена ключова дума ASC или DESC, резултатите ще бъдат категоризирани във възходящ ред.

Препоръчителен член

Това е ръководство за клаузата ORDER BY в SQL. Тук обсъждаме параметрите и различните примери на клауза ORDER BY заедно със синтаксиса. Можете да разгледате и другите ни предложени статии, за да научите повече -

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