sql >> Databasteknik >  >> RDS >> Database

SQL BESTÄLLNING AV

SQL BESTÄLL EFTER

SQL ORDER BY sats används för att sortera data som lagras i tabeller i databasen . Sorteringen kan göras på ett stigande, fallande sätt eller baserat på flera kolumner i tabellen .

I allmänhet är standardsorteringsordningen stigande.

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

Följande är syntaxen för en allmän ORDER BY-sats:

Exempel:

Låt oss överväga följande kunder bord.

ID NAMN ÅLDER ADRESS LÖN
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21 000
3 Ajeet bhargav 45 Meerut 65 000
4 Ritesh yadav 36 Azamgarh 26 000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Ovanstående fråga kommer att sortera alla poster i stigande ordning baserat på kolumnerna NAMN och LÖN.

Utdata:

ID NAMN ÅLDER ADRESS LÖN
3 Ajeet bhargav 45 Meerut 65 000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26 000
2 Shiva tiwari 22 Bhopal 21 000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Ovanstående fråga kommer att sortera alla poster i tabellen på ett fallande sätt baserat på kolumnen NAMN.

Utdata:

ID NAMN ÅLDER ADRESS LÖN
2 Shiva tiwari 22 Bhopal 21 000
4 Ritesh yadav 36 Azamgarh 26 000
6 Mahesh sharma 26 Mathura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65 000

Det finns olika ämnen under SQL ORDER BY-satsen. De är nämligen:

  • SQL-ORDER BY ASC – Sorterar data på ett stigande sätt
  • SQL ORDER BY DESC – Sorterar data på fallande sätt
  • SQL-ORDNING Slumpmässigt – Sorterar slumpmässiga data
  • SQL ORDER BY LIMIT – Väljer begränsad data från databasen
  • SQL-ORDNING EFTER flera kolumner – Sorterar data baserat på flera kolumner.

Låt oss diskutera var och en av dem i detalj.

SQL-ORDNING EFTER ASC

SQL-ORDER BY ASC sats sorterar data i stigande ordning baserat på vissa kolumner. I allmänhet är standardsorteringsordningen stigande.

Exempel:

Låt oss överväga följande kunder bord.

ID NAMN ÅLDER ADRESS LÖN
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21 000
3 Ajeet bhargav 45 Meerut 65 000
4 Ritesh yadav 36 Azamgarh 26 000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Ovanstående fråga kommer att sortera alla poster i stigande ordning baserat på kolumnerna NAMN och LÖN.

Utdata:

ID NAMN ÅLDER ADRESS LÖN
3 Ajeet bhargav 45 Meerut 65 000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22000
6 Mahesh sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26 000
2 Shiva tiwari 22 Bhopal 21 000

SQL ORDER BY DESC

SQL ORDER BY DESC-satsen sorterar data i fallande ordning baserat på vissa kolumner.

Exempel:

Låt oss överväga följande kunder bord.

ID NAMN ÅLDER ADRESS LÖN
1 Himani gupta 21 Modinagar 22000
2 Shiva tiwari 22 Bhopal 21 000
3 Ajeet bhargav 45 Meerut 65 000
4 Ritesh yadav 36 Azamgarh 26 000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Ovanstående fråga kommer att sortera alla poster i tabellen på ett fallande sätt baserat på kolumnen NAMN.

Utdata:

ID NAMN ÅLDER ADRESS LÖN
2 Shiva tiwari 22 Bhopal 21 000
4 Ritesh yadav 36 Azamgarh 26 000
6 Mahesh sharma 26 Mathura 22000
1 Himani gupta 21 Modinagar 22000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65 000

SQL ORDER BY LIMIT

SQL ORDER BY LIMIT-satsen hjälper till att hämta ett specifikt antal poster från databastabellen. Det används vanligtvis i situationer där det finns ett stort antal tuplar som uppfyller det givna villkoret. Den sätter en övre gräns för antalet poster som hämtas.

För att använda LIMIT-satsen i SQL måste man använda ROWNUM klausul med det.

Notera:Det bör noteras att LIMIT-satsen inte stöds av alla SQL-versioner.

Denna sats kan specificeras med SQL 2008 OFFSET eller FETCH FIRST-satser .

Exempel:

Låt oss överväga följande elev bord.

RollNo Namn Betyg
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5
SELECT *
 FROM Student
 LIMIT 5; 

Ovanstående fråga kommer bara att returnera de fem bästa eleverna från elevtabellen.

Utdata:

12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7

LIMIT-satsen kan också användas med ORDER BY-satsen.

SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

Ovanstående fråga returnerar de tre bästa eleverna som har de högsta betygen i fallande ordning.

Utdata:

12006 Anne 10
12001 Aditya 9
12004 Robin 9

LIMIT-operatorn är särskilt användbar i situationer där begränsad data behöver hämtas utan att använda några villkorliga uttalanden.

Operatören LIMIT kan också användas med OFFSET-operatorn.

LIMIT med OFFSET

Det bör noteras att OFFSET-värdet bör vara större än noll , och det kan inte vara negativt. Om ett negativt värde anges kommer det att returnera ett fel.

Exempel:

Låt oss överväga samma studenttabell.

RollNo Namn Betyg
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Den här frågan kommer att returnera de fem bästa posterna i elevtabellen, exklusive de två översta posterna.

Utdata:

RollNo Namn Betyg
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7

BEGRÄNSA ALLA

Det finns en annan klausul som liknar LIMIT känd som LIMIT ALL . LIMIT ALL-satsen sätter ingen gräns och kommer att returnera alla poster i tabellen.

Exempel:

Låt oss återigen överväga samma studenttabell.

RollNo Namn Betyg
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5

Fråga:

SELECT *
FROM Student
LIMIT ALL;
RollNo Namn Betyg
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5

SQL-ORDNING EFTER flera kolumner

SQL ORDER BY Multiple Columns returnerar dataposterna i kolumnen genom att sortera dem med flera kolumner som har angetts i frågan.

Den kommer att sortera data baserat på ordningen på kolumnnamnen som har angetts efter ORDER BY-satsen. Namnet på kolumnerna ska läggas till i motsvarande ordning som användaren vill att sorteringen ska ske.

Flera kolumnnamn kan läggas till genom att separera dem med ett kommatecken (,). Nyckelorden ASC eller DESC kan också användas för att ange sorteringsordningen.

Exempel:

Låt oss överväga följande anställd tabell med fyra kolumner nämligen id, first_name, last_name och lön.

id förnamn efternamn lön
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Thomas Grön 2400
4 Michael Muller 3000
5 Maria Grön 2400

Fråga:

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

Utdata:

id förnamn efternamn lön
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G reen 2400
5 Maria G reen 2400
2 Ada M uller 2400

Därför har resultatet först sorterats efter lön i fallande ordning och sedan efter efternamn i stigande ordning. Det bör noteras att om ASC eller DESC inte nämns kommer det som standard att sortera båda kolumnerna i stigande ordning.

Slutsats

Så ovan är några av de viktigaste och mest använda ORDER BY-klausulerna som används av utvecklare dagligen för att utföra specifika operationer på databasen och hämta ut data. Dessa klausuler kan användas individuellt eller de kan också användas tillsammans, på ett kombinerat sätt, för att utföra databasoperationer.


  1. Får ett ORA - 00907-fel på följande vid ON UPDATE

  2. django test app-fel - Fick ett fel när testdatabasen skapades:behörighet nekades att skapa databas

  3. lista över scheman med storlekar (relativa och absoluta) i en PostgreSQL-databas

  4. Hur man installerar MySQL med phpMyAdmin på Ubuntu 14.04