SQL TOP-, LIMIT-, FETCH FIRST- oder ROWNUM- Klausel
Die SQL SELECT TOP-Klausel
Die SELECT TOP
Klausel wird verwendet, um die Anzahl der zurückzugebenden Datensätze anzugeben.
Die SELECT TOP
Klausel ist bei großen Tabellen mit Tausenden von Datensätzen nützlich. Die Rückgabe einer großen Anzahl von Datensätzen kann die Leistung beeinträchtigen.
Hinweis: Nicht alle Datenbanksysteme unterstützen die
SELECT TOP
Klausel. MySQL unterstützt die LIMIT
Klausel zur Auswahl einer begrenzten Anzahl von Datensätzen, während Oracle and verwendet .
FETCH FIRST n ROWS ONLY
ROWNUM
SQL Server / MS Access-Syntax:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
MySQL-Syntax:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Oracle 12-Syntax:
SELECT column_name(s)
FROM table_name
ORDER BY
column_name(s)
FETCH FIRST number ROWS ONLY;
Ältere Oracle-Syntax:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
Ältere Oracle-Syntax (mit ORDER BY):
SELECT *
FROM (SELECT column_name(s) FROM table_name
ORDER BY column_name(s))
WHERE ROWNUM <= number;
Demo-Datenbank
Nachfolgend finden Sie eine Auswahl aus der Tabelle "Kunden" in der Northwind-Beispieldatenbank:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Beispiele für SQL TOP, LIMIT und FETCH FIRST
Die folgende SQL-Anweisung wählt die ersten drei Datensätze aus der Tabelle "Kunden" aus (für SQL Server/MS Access):
Beispiel
SELECT TOP 3 * FROM Customers;
Die folgende SQL-Anweisung zeigt das entsprechende Beispiel für MySQL:
Beispiel
SELECT * FROM Customers
LIMIT 3;
Die folgende SQL-Anweisung zeigt das entsprechende Beispiel für Oracle:
Beispiel
SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;
SQL TOP PERCENT Beispiel
Die folgende SQL-Anweisung wählt die ersten 50 % der Datensätze aus der Tabelle „Kunden“ aus (für SQL Server/MS Access):
Beispiel
SELECT TOP 50 PERCENT * FROM Customers;
Die folgende SQL-Anweisung zeigt das entsprechende Beispiel für Oracle:
Beispiel
SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;
FÜGEN SIE EINE WHERE-KLAUSEL HINZU
Die folgende SQL-Anweisung wählt die ersten drei Datensätze aus der Tabelle "Kunden" aus, wobei das Land "Deutschland" ist (für SQL Server/MS Access):
Beispiel
SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
Die folgende SQL-Anweisung zeigt das entsprechende Beispiel für MySQL:
Beispiel
SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
Die folgende SQL-Anweisung zeigt das entsprechende Beispiel für Oracle:
Beispiel
SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;