SQL, of gestructureerde querytaal, stelt ons in staat om via query's gegevens uit een database te verzamelen. Het stelt ons ook in staat om die gegevens in te voegen, bij te werken en te verwijderen.
In deze blogpost zullen we ons concentreren op het ophalen van gegevens en het beperken van de resultaten met behulp van SQL.
Waarom zou u SQL-queryresultaten beperken?
Een database is meestal een enorme verzameling gegevens. Soms hoeven we niet alle resultaten op te halen. Om de resultaten te beperken, kunnen we de zoekopdracht optimaliseren.
Het beperken van queryresultaten is belangrijk voor de prestaties van de database. Het ophalen van een groot resultaat wanneer dit niet vereist is, leidt tot extra belasting van de database en beïnvloedt de gebruikerservaring.
Zoekresultaten in SQL beperken
De syntaxis is anders voor SQL Server, Oracle en MySQL voor het beperken van de gegevens.
- MySQL gebruikt
LIMIT
. - ORACLE gebruikt
FETCH FIRST
. - MS Access en SQL Server gebruiken
TOP
.
We zullen hieronder in detail zien hoe ze allemaal werken.
Demodatabase
We hebben de volgende tabel met de naam students
met hun details zoals je hieronder kunt zien:
ID | Naam | Geslacht |
---|---|---|
1 | Ryan | M |
2 | Joanna | F |
3 | Miranda Andersen | F |
4 | Dalia Mata | F |
5 | Lilianna Boyd | F |
6 | Lexie Sharp | M |
7 | Jazlene Cordova | F |
8 | Brycen Werner | M |
9 | Karissa Turner | F |
10 | Aisha Dodson | F |
11 | Aydin Reeves | M |
Hoe een query in MySQL te beperken
Hieronder staat de syntaxis voor MySQL.
SELECT (expression)
FROM
table_name
LIMIT 5;
Als voorbeeld selecteren we de eerste 5 records uit de tabel.
Laten we onze tabel students
gebruiken voor deze demonstratie.
-- fetch top 5 values from table
SELECT * FROM students
LIMIT 5;
Uitgang:
Hoe LIMIT combineren met ORDER BY
Wanneer u LIMIT combineert met ORDER BY, kunt u zinvollere resultaten krijgen. We kunnen dit bijvoorbeeld gebruiken om de top 5 studenten te vinden die meer dan 70% scoorden op hun examen.
Laten we onze tafel students
bestellen met de kolom name
en kies de top 5 uit het resultaat. Je kunt dat als volgt doen:
SELECT * FROM students
order by name
LIMIT 5;
Uitgang:
Resultaten beperken – Oracle-syntaxis
Hieronder staat de equivalente syntaxis voor ons eerste voorbeeld in Oracle.
SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;
In oudere versies van Oracle kunt u ROWNUM gebruiken om het aantal rijen te beperken dat door een query wordt geretourneerd.
Voorbeeld:
SELECT * FROM
students
WHERE ROWNUM < 5;
Resultaten in SQL beperken – MS Access-syntaxis
Hieronder vindt u de equivalente syntaxis voor ons eerste voorbeeld in MS Access.
SELECT TOP 5 * FROM students;
Afsluiten
De LIMIT-functionaliteit kan zeer krachtig zijn voor query-optimalisatie in combinatie met sorteren. Efficiënte zoekopdrachten zijn lichter op het systeem en snel voor de gebruiker. Het wordt altijd aanbevolen om de resultaten te BEPERKEN waar van toepassing.