SQL oder strukturierte Abfragesprache ermöglicht es uns, Daten aus einer Datenbank durch Abfragen zu sammeln. Es ermöglicht uns auch, diese Daten einzufügen, zu aktualisieren und zu löschen.
In diesem Blogbeitrag konzentrieren wir uns darauf, wie Daten abgerufen und die Ergebnisse mithilfe von SQL eingeschränkt werden.
Warum sollten Sie SQL-Abfrageergebnisse einschränken?
Eine Datenbank ist normalerweise eine riesige Sammlung von Daten. Manchmal müssen wir nicht alle Ergebnisse abrufen. Um die Ergebnisse einzuschränken, können wir die Abfrage optimieren.
Das Einschränken von Abfrageergebnissen ist wichtig für die DB-Leistung. Das Abrufen eines großen Ergebnisses, wenn es nicht erforderlich ist, führt zu einer zusätzlichen Belastung der Datenbank und beeinträchtigt die Benutzererfahrung.
Einschränken von Abfrageergebnissen in SQL
Die Syntax ist für SQL Server, Oracle und MySQL zum Begrenzen der Daten unterschiedlich.
- MySQL verwendet
LIMIT
. - ORACLE verwendet
FETCH FIRST
. - MS Access und SQL Server verwenden
TOP
.
Unten sehen wir Beispiele dafür, wie die einzelnen Funktionen im Detail funktionieren.
Demo-Datenbank
Wir haben die folgende Tabelle mit dem Namen students
mit ihren Details, wie Sie unten sehen können:
ID | Name | Geschlecht |
---|---|---|
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 |
So beschränken Sie eine Abfrage in MySQL
Unten ist die Syntax für MySQL.
SELECT (expression)
FROM
table_name
LIMIT 5;
Als Beispiel wählen wir die ersten 5 Datensätze aus der Tabelle aus.
Verwenden wir unsere Tabelle students
für diese Demonstration.
-- fetch top 5 values from table
SELECT * FROM students
LIMIT 5;
Ausgabe:
Wie man LIMIT mit ORDER BY kombiniert
Wenn Sie LIMIT mit ORDER BY kombinieren, erhalten Sie aussagekräftigere Ergebnisse. So können wir beispielsweise die 5 besten Schüler finden, die bei ihrer Prüfung mehr als 70 % erzielt haben.
Bestellen wir unseren Tisch students
mit der Spalte name
und wählen Sie die Top 5 aus dem Ergebnis aus. Das geht so:
SELECT * FROM students
order by name
LIMIT 5;
Ausgabe:
Einschränken von Ergebnissen – Oracle-Syntax
Unten ist die äquivalente Syntax für unser erstes Beispiel in Oracle.
SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;
In älteren Versionen von Oracle können Sie ROWNUM verwenden, um die Anzahl der von einer Abfrage zurückgegebenen Zeilen einzuschränken.
Beispiel:
SELECT * FROM
students
WHERE ROWNUM < 5;
So begrenzen Sie Ergebnisse in SQL – MS Access-Syntax
Unten ist die äquivalente Syntax für unser erstes Beispiel in MS Access.
SELECT TOP 5 * FROM students;
Abschluss
Die LIMIT-Funktionalität kann in Kombination mit Sortierung sehr leistungsfähig für die Abfrageoptimierung sein. Effiziente Abfragen sind einfacher für das System und schnell für den Benutzer. Es wird immer empfohlen, die Ergebnisse gegebenenfalls zu BEGRENZEN.