SQL -Tutorial

SQL-HOME SQL-Einführung SQL-Syntax SQL-Auswahl SQL Wählen Sie Eindeutig aus SQL-Wo SQL Und, Oder, Nicht SQL-Reihenfolge nach SQL einfügen in SQL-Nullwerte SQL-Update SQL-Löschen SQL-Auswahl oben SQL-Min und -Max SQL-Anzahl, Durchschnitt, Summe SQL-ähnlich SQL-Platzhalter SQL-Eingang SQL zwischen SQL-Aliase SQL-Joins SQL Inner Join SQL-Left-Join SQL-Rechtsverknüpfung Vollständiger SQL-Join SQL-Self-Join SQL-Union SQL-Gruppierung nach SQL-Haben SQL existiert SQL Beliebig, Alle SQL-Auswahl in SQL-Insert in Select SQL-Fall SQL-Null-Funktionen Gespeicherte SQL-Prozeduren SQL-Kommentare SQL-Operatoren

SQL- Datenbank

SQL DB erstellen SQL-Drop-DB SQL-Sicherungsdatenbank SQL-Tabelle erstellen SQL-Drop-Tabelle SQL Alter-Tabelle SQL-Einschränkungen SQL nicht null SQL-eindeutig SQL-Primärschlüssel SQL-Fremdschlüssel SQL-Check SQL-Standard SQL-Index Automatisches SQL-Inkrement SQL-Daten SQL-Ansichten SQL-Injektion SQL-Hosting SQL-Datentypen

SQL- Referenzen

SQL-Schlüsselwörter MySQL-Funktionen SQL Server-Funktionen MS Access-Funktionen SQL-Schnellref

SQL- Beispiele

SQL-Beispiele SQL-Quiz SQL-Übungen SQL-Zertifikat

SQL TOP-, LIMIT-, FETCH FIRST- oder ROWNUM- Klausel


Die SQL SELECT TOP-Klausel

Die SELECT TOPKlausel wird verwendet, um die Anzahl der zurückzugebenden Datensätze anzugeben.

Die SELECT TOPKlausel 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 TOPKlausel. MySQL unterstützt die LIMITKlausel zur Auswahl einer begrenzten Anzahl von Datensätzen, während Oracle and verwendet . FETCH FIRST n ROWS ONLYROWNUM

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;