## Auswählen und Anordnen von Zeilen

Bei der Datenanfrage ist eine Auswahl bestimmter Zeilen und deren Anordnung möglich.

### Voraussetzungen

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.

### Auswählen bestimmter Zeilen

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)

### Anordnen von Zeilen

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)

### Anordnen nach mehr als einer Spalte

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

### Anzeigen ohne doppelte Zeilen

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