SQL BESTELLEN OP
De SQL BESTELLEN DOOR clausule wordt gebruikt om de gegevens te sorteren die zijn opgeslagen in tabellen in de database . Het sorteren kan op een oplopende manier, aflopende manier of op basis van meerdere kolommen van de tabel worden gedaan .
Over het algemeen is de standaard sorteervolgorde oplopende volgorde.
SELECT expressions FROM tables WHERE conditions ORDER BY expression ASC | DESC;
Het volgende is de syntaxis van een algemene ORDER BY-clausule:
Voorbeeld:
Laten we eens kijken naar de volgende Klanten tafel.
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
De bovenstaande zoekopdracht sorteert alle records in oplopende volgorde op basis van de kolommen NAAM en SALARY.
Uitvoer:
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
De bovenstaande query sorteert alle records in de tabel op een aflopende manier op basis van de NAAM-kolom.
Uitvoer:
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
Er zijn verschillende onderwerpen onder de SQL ORDER BY-clausule. Ze zijn namelijk:
- SQL BESTELLEN DOOR ASC – Sorteert de gegevens oplopend
- SQL BESTELLEN OP OMSCHRIJVING – Sorteert de gegevens aflopend
- SQL-ORDER OP WILLEKEURIGE – Sorteert willekeurige gegevens
- SQL BESTELLEN OP LIMIET – Selecteert beperkte gegevens uit de database
- SQL-ORDER OP meerdere kolommen – Sorteert de gegevens op basis van meerdere kolommen.
Laten we ze allemaal in detail bespreken.
SQL BESTELLEN DOOR ASC
SQL BESTELLEN DOOR ASC clausule sorteert de gegevens in oplopende volgorde op basis van enkele kolommen. Over het algemeen is de standaard sorteervolgorde oplopend.
Voorbeeld:
Laten we eens kijken naar de volgende Klanten tafel.
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
SELECT * FROM Customers ORDER BY NAME, SALARY;
De bovenstaande zoekopdracht sorteert alle records in oplopende volgorde op basis van de kolommen NAAM en SALARY.
Uitvoer:
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
SQL BESTELLEN BY DESC
SQL ORDER BY DESC-clausule sorteert de gegevens in aflopende volgorde op basis van enkele kolommen.
Voorbeeld:
Laten we eens kijken naar de volgende Klanten tafel.
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
1 | Himani gupta | 21 | Modinagar | 22000 |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
De bovenstaande query sorteert alle records in de tabel op een aflopende manier op basis van de NAAM-kolom.
Uitvoer:
ID | NAAM | LEEFTIJD | ADRES | SALARIS |
2 | Shiva tiwari | 22 | Bhopal | 21000 |
4 | Ritesh yadav | 36 | Azamgarh | 26000 |
6 | Mahesh sharma | 26 | Mathura | 22000 |
1 | Himani gupta | 21 | Modinagar | 22000 |
5 | Balwant singh | 45 | Varanasi | 36000 |
3 | Ajeet bhargav | 45 | Meerut | 65000 |
SQL BESTELLEN OP LIMIET
De SQL ORDER BY LIMIT-component helpt bij het ophalen van een specifiek aantal records uit de databasetabel. Het wordt over het algemeen gebruikt in situaties waarin er een groot aantal tuples is die aan de gegeven voorwaarde voldoen. Het stelt een bovengrens in voor het aantal records dat wordt opgehaald.
Om de LIMIT-clausule in SQL te gebruiken, moet men de ROWNUM gebruiken clausule erbij.
Opmerking:Houd er rekening mee dat de LIMIT-clausule niet door alle SQL-versies wordt ondersteund.
Deze clausule kan worden gespecificeerd met behulp van de SQL 2008 OFFSET of FETCH FIRST-clausules .
Voorbeeld:
Laten we eens kijken naar de volgende leerling tafel.
RollNo | Naam | Cijfer |
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;
De bovenstaande zoekopdracht levert alleen de beste 5 studenten op uit de tabel Studenten.
Uitvoer:
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
De LIMIT-clausule kan ook worden gebruikt met de ORDER BY-clausule.
SELECT * FROM Student ORDER BY Grade DESC LIMIT 3;
De bovenstaande zoekopdracht geeft de top 3 studenten met de hoogste cijfers terug in aflopende volgorde.
Uitvoer:
12006 | Anne | 10 |
12001 | Aditya | 9 |
12004 | Robin | 9 |
De LIMIT-operator is vooral handig in situaties waarin beperkte gegevens moeten worden opgehaald zonder voorwaardelijke instructies te gebruiken.
De LIMIT-operator kan ook worden gebruikt met de OFFSET-operator.
LIMIET met OFFSET
Opgemerkt moet worden dat de OFFSET-waarde groter moet zijn dan nul , en het kan niet negatief zijn. Als een negatieve waarde wordt opgegeven, wordt een fout geretourneerd.
Voorbeeld:
Laten we dezelfde studententafel bekijken.
RollNo | Naam | Cijfer |
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;
Deze zoekopdracht retourneert de top 5 records van de studententabel, exclusief de top 2 items.
Uitvoer:
RollNo | Naam | Cijfer |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
ALLES BEPERKEN
Er is een andere clausule die lijkt op LIMIT, bekend als LIMIT ALL . De LIMIT ALL-clausule stelt geen limiet en retourneert alle vermeldingen van de tabel.
Voorbeeld:
Laten we opnieuw dezelfde studententafel bekijken.
RollNo | Naam | Cijfer |
12001 | Aditya | 9 |
12002 | Sahil | 6 |
12003 | Hema | 8 |
12004 | Robin | 9 |
12005 | Sita | 7 |
12006 | Anne | 10 |
12007 | Yusuf | 7 |
12008 | Alex | 5 |
Vraag:
SELECT * FROM Student LIMIT ALL;
RollNo | Naam | Cijfer |
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 ORDER OP meerdere kolommen
De SQL ORDER OP meerdere kolommen zal de gegevensinvoer in de kolom retourneren door ze te sorteren met behulp van meerdere kolommen die in de zoekopdracht zijn gegeven.
Het sorteert de gegevens op basis van de volgorde van de kolomnamen die zijn opgegeven na de ORDER BY-clausule. De naam van de kolommen moet worden toegevoegd in de overeenkomstige volgorde waarin de gebruiker wil dat het sorteren gebeurt.
Meerdere kolomnamen kunnen worden toegevoegd door ze te scheiden met een komma (,). De trefwoorden ASC of DESC kunnen ook worden gebruikt om de sorteervolgorde te specificeren.
Voorbeeld:
Laten we eens kijken naar de volgende Medewerker tabel met vier kolommen namelijk id, first_name, last_name, en salaris.
id | voornaam | achternaam | salaris |
1 | Lisa | Ulman | 3000 |
2 | Ada | Müller | 2400 |
3 | Thomas | Groen | 2400 |
4 | Michael | Müller | 3000 |
5 | Maria | Groen | 2400 |
Vraag:
SELECT id, first_name, last_name, salary FROM employee ORDER BY salary DESC, last_name;
Uitvoer:
id | voornaam | achternaam | salaris |
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 |
Daarom is de output eerst gesorteerd op salaris in aflopende volgorde en vervolgens op achternaam in oplopende volgorde. Houd er rekening mee dat als ASC of DESC niet wordt vermeld, het standaard beide kolommen in oplopende volgorde sorteert.
Conclusie
Hierboven staan dus enkele van de belangrijkste en meest gebruikte ORDER BY-clausules die dagelijks door ontwikkelaars worden gebruikt om specifieke bewerkingen op de database uit te voeren en gegevens op te halen. Deze clausules kunnen afzonderlijk worden gebruikt of ze kunnen ook samen, op een gecombineerde manier, worden gebruikt om databasebewerkingen uit te voeren.