Der Ausdruck SELECT TOP wird verwendet, um die Anzahl der auszuwählenden Datensätze anzugeben.
SQL SELECT TOP ist für große Tabellen mit Tausenden von Datensätzen nützlich, da die Rückgabe einer großen Anzahl von Datensätzen die Systemleistung beeinträchtigen kann.
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number
SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number
Das Folgende ist ein Beispiel aus der Tabelle „Customers“ („Kunden“) der Datenbank „Northwind“:
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. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | 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 |
Die folgende SQL-Anweisung wählt die ersten drei Datensätze aus der Tabelle „Customers“ aus (für SQL Server/MS Access):
SELECT TOP 3 *
FROM Customers
Die folgende SQL-Anweisung zeigt ein entsprechendes Beispiel für MySQL:
Run SQLSELECT *
FROM Customers
LIMIT 3
Die folgende SQL-Anweisung zeigt ein entsprechendes Beispiel für Oracle:
SELECT *
FROM Customers
FETCH FIRST 3 ROWS ONLY
Die folgende SQL-Anweisung wählt die ersten 50 % der Datensätze aus der Tabelle „Customers“ aus (für SQL Server/MS Access):
SELECT TOP 50 PERCENT *
FROM Customers
Die folgende SQL-Anweisung zeigt ein entsprechendes Beispiel für Oracle:
SELECT *
FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY
Die folgende SQL-Anweisung wählt die ersten drei Datensätze aus der Tabelle „Customers“ aus, wobei das Land „Germany“ ist (für SQL Server/MS Access):
SELECT TOP 3 *
FROM Customers
WHERE Country = 'Germany'
Die folgende SQL-Anweisung zeigt ein entsprechendes Beispiel für MySQL:
Run SQLSELECT *
FROM Customers
WHERE Country = 'Germany'
LIMIT 3
Die folgende SQL-Anweisung zeigt ein entsprechendes Beispiel für Oracle:
SELECT *
FROM Customers
WHERE Country = 'Germany'
FETCH FIRST 3 ROWS ONLY