Database
 sql >> база данни >  >> RDS >> Database

SQL ПОРЪЧАЙ ПО

SQL ПОРЪЧАЙ ПО

SQL ПОРЪЧАЙ ПО клаузата се използва за сортиране на данните, съхранявани в таблици в базата данни . Сортирането може да се извърши повъзходящ начин, низходящ начин или въз основа на множество колони на таблицата .

Като цяло редът на сортиране по подразбиране е възходящ ред.

SELECT expressions
 FROM tables
 WHERE conditions
 ORDER BY expression ASC | DESC; 

Следва синтаксисът на обща клауза ORDER BY:

Пример:

Нека разгледаме следните Клиенти таблица.

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
1 Химани гупта 21 Модинагар 22000
2 Шива тивари 22 Бхопал 21000
3 Аджит бхаргав 45 Меерут 65 000
4 Ритеш ядав 36 Азамгарх 26000
5 Balwant singh 45 Варанаси 36000
6 Махеш шарма 26 Матура 22000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Горната заявка ще сортира всички записи във възходящ ред въз основа на колоните ИМЕ и ЗАПЛАТА.

Изход:

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
3 Аджит бхаргав 45 Меерут 65 000
5 Balwant singh 45 Варанаси 36000
1 Химани гупта 21 Модинагар 22000
6 Махеш шарма 26 Матура 22000
4 Ритеш ядав 36 Азамгарх 26000
2 Шива тивари 22 Бхопал 21000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Горната заявка ще сортира всички записи в таблицата по низходящ начин въз основа на колоната NAME.

Изход:

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
2 Шива тивари 22 Бхопал 21000
4 Ритеш ядав 36 Азамгарх 26000
6 Махеш шарма 26 Матура 22000
1 Химани гупта 21 Модинагар 22000
5 Balwant singh 45 Варанаси 36000
3 Аджит бхаргав 45 Меерут 65 000

Има различни теми под клаузата на SQL ORDER BY. А именно те са:

  • SQL ПОРЪДКА ПО ASC – Сортира данните във възходящ начин
  • SQL ПОРЪДКА ПО DESC – Сортира данните по низходящ начин
  • SQL ПОРЪДКА НА СЛУЧАЙНА НАСТРОЙКА – Сортира произволни данни
  • SQL ПОРЪЧАЙ ПО ОГРАНИЧЕНИЕ – Избира ограничени данни от базата данни
  • SQL ПОРЪЧАЙ ПО множество колони – Сортира данните въз основа на множество колони.

Нека обсъдим всеки от тях подробно.

SQL ПОРЪЧКА ПО ASC

SQL ПОРЪЧАЙ ПО ASC клаузата сортира данните във възходящ ред въз основа на някои колони. Обикновено редът на сортиране по подразбиране е възходящ начин.

Пример:

Нека разгледаме следните Клиенти таблица.

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
1 Химани гупта 21 Модинагар 22000
2 Шива тивари 22 Бхопал 21000
3 Аджит бхаргав 45 Меерут 65 000
4 Ритеш ядав 36 Азамгарх 26000
5 Balwant singh 45 Варанаси 36000
6 Махеш шарма 26 Матура 22000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Горната заявка ще сортира всички записи във възходящ ред въз основа на колоните ИМЕ и ЗАПЛАТА.

Изход:

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
3 Аджит бхаргав 45 Меерут 65 000
5 Balwant singh 45 Варанаси 36000
1 Химани гупта 21 Модинагар 22000
6 Махеш шарма 26 Матура 22000
4 Ритеш ядав 36 Азамгарх 26000
2 Шива тивари 22 Бхопал 21000

SQL ПОРЪЧКА ПО DESC

SQL ORDER BY DESC клаузата сортира данните в низходящ ред въз основа на някои колони.

Пример:

Нека разгледаме следните Клиенти таблица.

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
1 Химани гупта 21 Модинагар 22000
2 Шива тивари 22 Бхопал 21000
3 Аджит бхаргав 45 Меерут 65 000
4 Ритеш ядав 36 Азамгарх 26000
5 Balwant singh 45 Варанаси 36000
6 Махеш шарма 26 Матура 22000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Горната заявка ще сортира всички записи в таблицата по низходящ начин въз основа на колоната NAME.

Изход:

ID NAME ВЪЗРАСТ АДРЕС ЗАПЛАТА
2 Шива тивари 22 Бхопал 21000
4 Ритеш ядав 36 Азамгарх 26000
6 Махеш шарма 26 Матура 22000
1 Химани гупта 21 Модинагар 22000
5 Balwant singh 45 Варанаси 36000
3 Аджит бхаргав 45 Меерут 65 000

SQL ПОРЪЧКА ПО ОГРАНИЧЕНИЕ

SQL ORDER BY LIMIT клаузата помага при извличането на определен брой записи от таблицата на базата данни. Обикновено се използва в ситуации, когато има голям брой кортежи, които отговарят на даденото условие. Той задава горна граница за броя на записите, които се извличат.

За да се използва клаузата LIMIT в SQL, трябва да се използва ROWNUM клауза с него.

Забележка:Трябва да се отбележи, че клаузата LIMIT не се поддържа от всички версии на SQL.

Тази клауза може да бъде посочена с помощта на SQL 2008 OFFSET или FETCH FIRST клаузи .

Пример:

Нека разгледаме следния Студент таблица.

RollNo Име Оценка
12001 Адитя 9
12002 Сахил 6
12003 Хема 8
12004 Робин 9
12005 Сита 7
12006 Ан 10
12007 Юсуф 7
12008 Алекс 5
SELECT *
 FROM Student
 LIMIT 5; 

Горната заявка ще върне само първите 5 ученици от таблицата на студентите.

Изход:

12001 Адитя 9
12002 Сахил 6
12003 Хема 8
12004 Робин 9
12005 Сита 7

Клаузата LIMIT може да се използва и с клаузата ORDER BY.

SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

Горната заявка ще върне първите 3 ученици с най-високи оценки в низходящ ред.

Изход:

12006 Ан 10
12001 Адитя 9
12004 Робин 9

Операторът LIMIT е особено полезен в ситуации, в които трябва да бъдат извлечени ограничени данни, без да се използват условни изрази.

Операторът LIMIT може да се използва и с оператора OFFSET.

LIMIT с OFFSET

Трябва да се отбележи, че стойността OFFSET трябва да е по-голяма от нула , и не може да бъде отрицателен. Ако бъде предоставена отрицателна стойност, тя ще върне грешка.

Пример:

Нека разгледаме същата таблица Student.

RollNo Име Оценка
12001 Адитя 9
12002 Сахил 6
12003 Хема 8
12004 Робин 9
12005 Сита 7
12006 Ан 10
12007 Юсуф 7
12008 Алекс 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Тази заявка ще върне първите 5 записа на таблицата Student, с изключение на първите 2 записа.

Изход:

RollNo Име Оценка
12003 Хема 8
12004 Робин 9
12005 Сита 7
12006 Ан 10
12007 Юсуф 7

ОГРАНИЧАЙТЕ ВСИЧКИ

Има друга клауза, подобна на LIMIT, известна като LIMIT ALL . Клаузата LIMIT ALL няма да постави ограничение и ще върне всички записи в таблицата.

Пример:

Нека отново разгледаме същата таблица Student.

RollNo Име Оценка
12001 Адитя 9
12002 Сахил 6
12003 Хема 8
12004 Робин 9
12005 Сита 7
12006 Ан 10
12007 Юсуф 7
12008 Алекс 5

Запитване:

SELECT *
FROM Student
LIMIT ALL;
RollNo Име Оценка
12001 Адитя 9
12002 Сахил 6
12003 Хема 8
12004 Робин 9
12005 Сита 7
12006 Ан 10
12007 Юсуф 7
12008 Алекс 5

SQL ПОРЪЧАЙ ПО множество колони

SQL ПОРЪЧАЙ ПО множество колони ще върне въведените данни в колоната, като ги сортира с помощта на множество колони, които са дадени в заявката.

Той ще сортира данните въз основа на реда на имената на колоните, които са предоставени след клаузата ORDER BY. Името на колоните трябва да се добави в съответния ред, в който потребителят иска сортирането да се случи.

Могат да се добавят множество имена на колони, като се разделят със запетая (,). Също така, ключовите думи ASC или DESC могат да се използват за определяне на реда на сортиране.

Пример:

Нека разгледаме следния Служител таблица с четири колони, а именно идентификатор, име, фамилия и заплата.

id first_name фамилно_име заплата
1 Лиза Улман 3000
2 Ада Мюлер 2400
3 Томас Зелено 2400
4 Майкъл Мюлер 3000
5 Мери Зелено 2400

Запитване:

SELECT id,  
 first_name,
 last_name,
 salary
 FROM employee
 ORDER BY salary DESC, last_name; 

Изход:

id first_name фамилно_име заплата
4 Майкъл M uller 3000
1 Лиза U лман 3000
3 Томас G реен 2400
5 Мери G реен 2400
2 Ада M uller 2400

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

Заключение

И така, по-горе са някои от най-важните и често използвани клаузи ORDER BY, които се използват от разработчиците ежедневно, за да изпълняват специфични операции върху базата данни и да извличат данни. Тези клаузи могат да се използват поотделно или могат да се използват заедно, по комбиниран начин, за извършване на операции с база данни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Филтрирани индекси и принудителна параметризация (редукс)

  2. Въпроси и отговори от нашата поредица от уебинари за Параметър Sniffing

  3. Решете между базирано на агент срещу наблюдение без агент

  4. Съхранение на данни:REST срещу POSIX за архиви и HSM

  5. Анонимизирайте детайлите на плана си по естествен начин в Plan Explorer