Bei der Datenanfrage ist eine Auswahl bestimmter Zeilen und deren Anordnung möglich.
Sie benötigen die Demo-Daten für das SQL-Tutorial.
Starten Sie das Query Tool SQL Studio als Datenbankadministrator MONA mit dem Kennwort RED und melden Sie sich an die Demo-Datenbankinstanz DEMODB an.
Für die Auswahl bestimmter Zeilen verwenden Sie die WHERE-Klausel.
SELECT zip, name
FROM hotel.city
WHERE name = 'Seattle'
Auswahl der Zeilen mit dem Ortsnamen Seattle
Ergebnis
ZIP |
NAME |
20005 |
Seattle |
20019 |
Seattle |
20037 |
Seattle |
Siehe auch:
SQL-Referenzhandbuch, WHERE-Klausel
SELECT ROWNO, cno,
title, firstname, name
FROM hotel.customer
WHERE ROWNO <= 5
Auswahl der ersten fünf Zeilen und Nummerieren der Zeilen
Ergebnis
ROWNO |
CNO |
TITLE |
FIRSTNAME |
NAME |
1 |
3000 |
Mrs |
Jenny |
Porter |
2 |
3100 |
Mr |
Peter |
Brown |
3 |
3200 |
Company |
? |
Datasoft |
4 |
3300 |
Mrs |
Rose |
Brian |
5 |
3400 |
Mrs |
Mary |
Griffith |
Siehe auch:
SQL-Referenzhandbuch, ROWNO-Prädikat
(rowno_predicate)
Für die Anordnung von Zeilen verwenden Sie die ORDER-Klausel, die die Reihenfolge angibt, in der die Zeilen erscheinen sollen.
SELECT name, firstname
FROM hotel.customer
WHERE ROWNO <= 5
ORDER BY name
Sortieren der ersten 5 Zeilen in alphabetischer Reihenfolge nach dem Namen des Kunden
Ergebnis
NAME |
FIRSTNAME |
Brian |
Rose |
Brown |
Peter |
Datasoft |
? |
Griffith |
Mary |
Porter |
Jenny |
SELECT name,
firstname
FROM hotel.customer
WHERE ROWNO <= 5
ORDER BY name DESC
Sortieren der ersten 5 Zeilen in absteigender alphabetischer Reihenfolge nach dem Namen des Kunden
Ergebnis
NAME |
FIRSTNAME |
Porter |
Jenny |
Griffith |
Mary |
Datasoft |
? |
Brown |
Peter |
Brian |
Rose |
Statt des Sortierspaltennamens kann auch die Posititionsnummer in der Ausgabeliste angegeben werden (anstelle von ORDER BY name DESC also ORDER BY 1 DESC).
Ist über eine Sortierspalte nichts weiter ausgesagt, bedeutet das immer eine aufsteigende Folge. Eine Sortierspalte muss nicht gleichzeitig eine Ausgabespalte sein.
Siehe auch:
SQL-Referenzhandbuch, ORDER-Klausel
(order_clause)
Soll die Sortierreihenfolge mehrfach gestaffelt sein, geben Sie die Sortierspaltennamen in der Reihenfolge ihrer Wichtigkeit an. Jeder Name kann dabei den Zusatz ASC oder DESC erhalten. Dies ist auch gemischt möglich.
SELECT zip, name
FROM hotel.city
WHERE ROWNO < 5
ORDER BY name, zip DESC
Anzeige der Ortsdaten, sortiert nach dem Namen und absteigend nach den Postleitzahlen
Ergebnis
ZIP |
NAME |
12203 |
Albany |
11788 |
Long Island |
10580 |
New York |
10019 |
New York |
Sie können bei einer Datenanfrage vermeiden, dass redundante Informationen angezeigt werden. Verwenden Sie dazu nach dem Schlüsselwort SELECT das Schlüsselwort DISTINCT.
SELECT DISTINCT name,
state
FROM hotel.city
ORDER BY name
Anzeige der Ortsangaben, bestehend aus Name und Staat, die verschieden sind
Ergebnis
NAME |
STATE |
Albany |
NY |
Chicago |
IL |
Cincinnati |
OH |
Clearwater |
FL |
Dallas |
TX |
Daytona Beach |
FL |
Deerfield Beach |
FL |
Detroit |
MI |
Hollywood |
CA |
Irvine |
CA |
Long Beach |
CA |
Long Island |
NY |
Los Angeles |
CA |
New York |
NY |
Palm Spring |
CA |
Portland |
OR |
Rosemont |
IL |
Santa Clara |
CA |
Seattle |
WA |
Silver Spring |
MD |
Führen Sie zum Vergleich die SQL-Anweisung ohne das Schlüsselwort DISTINCT aus.
Siehe auch:
SQL-Referenzhandbuch, DISTINCT-Spezifikation
(distinct_spec)
Siehe auch:
SQL-Referenzhandbuch, QUERY-Ausdruck
(query_expression),
Selektierte Spalte
(select_column),
Tabellenausdruck
(table_expression)
Weitere Beispiele zur Datenanfrage