Direkt zum Inhalt

Wie du die SQL LIMIT-Klausel am besten verwendest

Lerne die Anwendung der SQL LIMIT-Klausel zum Filtern von Daten. Beherrsche die Verwendung der LIMIT-Klausel in PostgreSQL- und MySQL-Datenbanken.
Aktualisierte 16. Jan. 2025  · 8 Min. Lesezeit

Die SQL-Klausel LIMIT steuert die Anzahl der Datensätze, die in einer Abfrage zurückgegeben werden. Wie der Name schon sagt, schränkt die LIMIT Klausel die Zeilen ein, die nach dem Filtern der Daten angezeigt werden. Diese Klausel ist wichtig, wenn du große Datensätze bearbeitest, aber nur bestimmte Datenbereiche abrufen willst.

Wenn du ein aufstrebender Datenexperte bist, empfehle ich dir die DataCamp-Kurse Einführung in SQL und SQL-Grundlagen, um relevante SQL-Kenntnisse für die Datenanalyse zu erwerben.

Die kurze Antwort: Was ist die SQL LIMIT-Klausel?

Die SQL-Klausel LIMIT ist eine nützliche Klausel, die die Anzahl der Datensätze angibt, die eine Abfrage nach dem Filtern der Daten zurückgeben soll. Mit dieser Technik kann man nur eine Teilmenge der Daten zur Anzeige oder Analyse zurückgeben. Deshalb ist die LIMIT Klausel wichtig für die Aufteilung großer Daten in kleinere Stücke bei der Paginierung von Daten. Sie wird auch zur Leistungsoptimierung verwendet, um große Abfragen zu vermeiden, die die Leistung der Datenbank verlangsamen könnten.

Das folgende Beispiel zeigt die grundlegende Verwendung der LIMIT Klausel, um nur die 10 wichtigsten Datensätze aus der Tabelle employees anzuzeigen.

-- Select all columns from the employees table
-- and limit the number of returned rows to 10.
SELECT * 
FROM employees
LIMIT 10;

Syntax der SQL LIMIT-Klausel

Die SQL-Klausel LIMIT ist in der Anweisung SELECT enthalten, um die Anzahl der von einer Abfrage zurückgegebenen Datensätze zu steuern. Die LIMIT Klausel wird am Ende der Anweisung hinzugefügt, um die Datensätze wie angegeben zu filtern. Du kannst auch das SQL Basics Cheat Sheet von DataCamp lesen, um mehr über LIMIT und andere gängige SQL-Klauseln zu erfahren.

-- Select columns column1, column2, ... from the table table_name
SELECT column1, column2, ...
FROM table_name
-- Limit the number of rows returned to number_of_rows
LIMIT number_of_rows;

Hier ist die LIMIT Klausel in einem praktischen Beispiel. Die Abfrage zeigt nur 10 Datensätze der Tabelle employees aus den Spalten first_name, last_name und department.

-- Select first_name, last_name, and department from the employees table
SELECT first_name, last_name, department
FROM employees
-- Limit the number of rows returned to 10
LIMIT 10;

Manchmal kannst du die optionale OFFSET Klausel verwenden, um eine bestimmte Anzahl von Zeilen zu überspringen, bevor die gewünschten Zeilen angezeigt werden. Die Syntax von OFFSET ist unten dargestellt.

-- Select column_names from the table table_name
SELECT column_names
FROM table_name
-- Arrange the results in ascending order based on column_name
ORDER BY column_name
-- Limit the number of rows returned to number_of_rows, starting from offset_value
LIMIT number_of_rows OFFSET offset_value;

In der obigen SQL-Abfrage gibt number_of_rows die Anzahl der Zeilen an, die zurückgegeben werden sollen, während offset_value die Anzahl der Zeilen angibt, die die Abfrage überspringen soll, bevor sie zurückgegeben wird. 

Das folgende Beispiel zeigt, wie du die SQL-Klauseln OFFSET und LIMIT verwendest, um die Anzahl der zurückzugebenden Zeilen zu steuern. Während die LIMIT Klausel vorschreibt, 10 Datensätze zurückzugeben, überspringt die OFFSET Klausel in der Abfrage die ersten 5 Datensätze. Daher werden die Ergebnisse Datensätze von der sechsten bis zur fünfzehnten Zeile (10 Zeilen) anzeigen.

-- Select first_name, last_name, and department from the employees table
SELECT first_name, last_name, department
FROM employees
-- Limit the number of rows returned to 10, starting from the 6th row (offset of 5)
LIMIT 10 OFFSET 5;

Wichtige Punkte, die du über die SQL LIMIT-Klausel wissen solltest

Die richtige Implementierung der LIMIT Klausel und ihrer Variationen in verschiedenen SQL-Datenbanken ist entscheidend für die Optimierung der Abfrageleistung und die Sicherstellung eines genauen Datenabrufs. Werfen wir einen Blick auf einige wichtige Punkte. 

Die Platzierung der LIMIT-Klausel in der SELECT-Anweisung

Die LIMIT Klausel wird normalerweise am Ende der SELECT Anweisung nach der FROM Klausel platziert. Wenn du andere optionale Aggregationsklauseln wie WHERE, GROUP BY und ORDER BY-Klauseln verwendest, stelle sicher, dass die Klausel LIMIT am Ende der Abfrage steht.

-- Select all columns from the employees table
SELECT *
FROM employees
-- Limit the number of rows returned to 5, starting from the 21st row (offset of 20)
LIMIT 10 OFFSET 20;

Kombination von LIMIT mit ORDER BY-Klausel

Die LIMIT Klausel kann mit dem ORDER BY Aggregat kombiniert werden, um einheitliche und vorhersehbare Ergebnisse zu erzielen. Diese Technik stellt sicher, dass die Daten in einer bestimmten Reihenfolge gespeichert werden, bevor sie abgerufen werden. Im folgenden Beispiel ordnen wir die Daten nach hire_date in absteigender Reihenfolge, bevor wir die gefilterten Zeilen anzeigen.

-- Select all columns from the employees table
SELECT *
FROM employees
-- Arrange the results in descending order based on hire_date
ORDER BY hire_date DESC
-- Limit the number of rows returned to 10
LIMIT 10;

Ich würde empfehlen, den Lernpfad "Associate Data Analyst in SQL" und den Kurs "Reporting in SQL" von DataCamp zu besuchen, um mehr über Aggregatfunktionen und ihre Anwendung in der Datenanalyse zu erfahren.

SQL LIMIT Variationen und Syntax in verschiedenen Datenbanken

Die obigen Beispiele zeigen die Verwendung von SQL LIMIT -Klauseln in unterstützten PostgreSQL-, SQLite- und MySQL-Datenbanken.

Um ähnliche Ergebnisse in SQL Server zu erzielen, kannst du die Funktion TOP verwenden, um die Anzahl der Datensätze zu bestimmen, die aus den gegebenen Daten zurückgegeben werden sollen.

-- Select the top 10 records of first_name, last_name from the employees table
SELECT TOP 10 first_name, last_name
FROM employees
-- Arrange the results in descending order based on hire_date
ORDER BY hire_date DESC;

Auch die Oracle-Datenbank unterstützt die Verwendung von FETCH FIRST n ROWS ONLY, um die Anzahl der Datensätze, die in einer Abfrage zurückgegeben werden, zu steuern.

-- Select the first_name and last_name columns from the employees table
SELECT first_name, last_name
FROM employees
-- Order the results in descending order based on hire_date
ORDER BY hire_date DESC
-- Limit the number of rows returned to the first 10 rows
FETCH FIRST 10 ROWS ONLY;

LIMIT und OFFSET im Seitenumbruch

SQL LIMIT und OFFSET werden normalerweise kombiniert, um eine effiziente Paginierung der Daten zu erreichen. Diese Technik stellt sicher, dass große Datensätze in kleinere, überschaubare Teile zerlegt werden, damit sie angemessen dargestellt werden können.

Im folgenden Beispiel schränkt die LIMIT und OFFSET Klausel die angezeigten Zeilen auf 10 ein, beginnt aber mit der 21. Zeile.

-- Select all columns from the employees table
SELECT *
-- Arrange the results in descending order based on hire_date
FROM employees
ORDER BY hire_date DESC
-- Limit the number of rows returned to 10, starting from the 21st row (offset of 20)
LIMIT 10 OFFSET 20;

Häufige Anwendungsfälle der SQL-Klausel LIMIT

  • Paginierung: In Kombination mit der OFFSET Klausel wird die LIMIT Klausel in Webanwendungen für die Paginierung von Daten verwendet. Bei dieser Technik werden die Daten in kleineren Abschnitten/Teilmengen angezeigt, zum Beispiel auf verschiedenen Webseiten.
  • Leistung optimieren: Die LIMIT Klausel kann die Abfrageleistung verbessern, indem sie die Last auf den Datenbankservern reduziert. Diese Technik wird erreicht, indem kleinere Datenmengen gleichzeitig abgerufen und zurückgegeben werden.
  • Datenstichproben: Die LIMIT Klausel ist bei der Datenanalyse nützlich, indem sie kleinere Datenuntermengen abruft. Diese Methode hilft Datenanalysten, die Leistung bei der Analyse zu verbessern.

Einschränkungen des SQL-Limit-Befehls

Zu den Einschränkungen der SQL-Klausel LIMIT gehören die folgenden:

  • Mangelnde Unterstützung durch alle Datenbanken: Die LIMIT Klausel wird nicht von allen Datenbanken unterstützt. Die Klausel LIMIT ist zum Beispiel in SQL Server- und Oracle-Datenbanken nicht verfügbar. 
  • Leistungsprobleme bei großen OFFSET-Werten: Die Verwendung großer OFFSET Werte kann die Datenbankserver verlangsamen, was zu einer langsameren Ausführung von Abfragen führt.

Um die Einschränkungen der verschiedenen Datenbanken zu umgehen, kannst du folgende Alternativen nutzen.x

Die TOP-Klausel in SQL Server

Die TOP Klausel führt zu den gleichen Ergebnissen wie die LIMIT Klausel für die SQL Server Datenbank.

-- Select the top 10 rows from the employees table ordered by hire_date
SELECT TOP 10 first_name, last_name
FROM employees
ORDER BY hire_date DESC;

FETCH FIRST n ROWS ONLY in SQL Server und DB2

Die FETCH FIRST n ROWS ONLY liefert auch ähnliche Ergebnisse wie die LIMIT Klausel für die SQL Server und DB2 Datenbanken.

-- Select the first 10 rows from the employees table ordered by hire_date
SELECT first_name, last_name
FROM employees
ORDER BY hire_date DESC
FETCH FIRST 10 ROWS ONLY;

ROWNUM in Oracle

In der Oracle-Datenbank steuert die Funktion ROWNUM die Anzahl der Datensätze, die von den Daten zurückgegeben werden. Die Funktion wird in einer Unterabfrage kombiniert, um die Daten nach Bedarf zu filtern.

-- Select the top 10 rows from the employees table ordered by hire_date
SELECT * FROM (
    SELECT first_name, last_name
    FROM employees
    ORDER BY hire_date DESC
) WHERE ROWNUM <= 10;

Fazit

Die SQL-Klausel LIMIT ist wichtig, um die Anzahl der angezeigten Zeilen nach dem Abrufen von Daten aus einer Datenbank zu begrenzen. Als Datenexperte ist es wichtig, die verschiedenen Anwendungsfälle der LIMIT Klausel für Datenanalyse und -manipulation zu verstehen. Ebenso solltest du die Datenbankunterstützung für die LIMIT Klausel berücksichtigen und andere alternative Funktionen verwenden, wenn du inkompatible Datenbanken wie SQL Server und Oracle nutzt.

Um die verschiedenen Anwendungsmöglichkeiten der SQL-Klausel LIMIT zu verstehen, solltest du weiter mit verschiedenen Datensätzen üben. Die DataCamp-Kurse "SQL lernen" und "SQL für Fortgeschrittene" sind geeignet, um fortgeschrittene SQL-Kenntnisse zu erwerben. Ich empfehle auch die SQL Associate-Zertifizierung von DataCamp, um deine SQL-Kenntnisse unter Beweis zu stellen und dich von anderen Datenexperten abzuheben.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Ich verfasse Artikel, die Datenwissenschaft und Analytik vereinfachen und leicht verständlich und zugänglich machen.

Häufig gestellte Fragen

Wozu dient die SQL-Funktion LIMIT?

Die SQL LIMIT Funktion steuert die Anzahl der Zeilen, die aus den gefilterten Daten zurückgegeben werden.

Wofür wird das SQL LIMIT hauptsächlich verwendet?

SQL LIMIT wird hauptsächlich für die Paginierung von Daten auf Webseiten verwendet, um die Anzahl der angezeigten Zeilen zu begrenzen.

Wird die SQL LIMIT-Klausel in allen Datenbanken unterstützt?

Die Funktion SQL LIMIT wird nur in PostgreSQL-, MySQL- und SQLite-Datenbanken unterstützt. Die Klausel wird in den Datenbanken SQL Server und Oracle nicht unterstützt.

Was ist die Alternative zur LIMIT-Klausel in den nicht unterstützten Datenbanken?

Die Alternative zur SQL LIMIT-Funktion in SQL Server sind die KlauselnTOP und FETCH FIRST n ROWS ONLY. Die Oracle-Datenbank verwendet die Funktion ROWNUM als Alternative zu LIMIT.

Was ist die Verwendung von OFFSET in der SQL LIMIT-Klausel?

Wir können mit OFFSET können wir die Anzahl der Zeilen angeben, die übersprungen werden sollen, bevor die bestimmte Anzahl von Zeilen aus der LIMIT Klausel zurückgibt.

Themen

SQL lernen mit DataCamp

Zertifizierung verfügbar

Kurs

Einführung in SQL

2 hr
975.7K
Lerne in nur zwei Stunden, wie man relationale Datenbanken mit SQL erstellt und abfragt.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow