<< >> Up Title Contents Index

Auswahl bestimmter Zeilen

Neben der Einschränkung einer Basistabelle auf weniger Spalten ist auch eine Einschränkung auf weniger Zeilen möglich. Zeilen werden durch die Formulierung einer WHERE-Bedingung ausgewählt.

Auswahl der Zeilen mit dem Ort 'München':

SELECT anrede, vorname, nachname, ort
       FROM kunde
       WHERE ort = 'München'

Auswahl der Zeilen mit dem Kontostand 0.00:

SELECT nachname, ort, konto
       FROM kunde
       WHERE konto = 0.00

Es sollen nun die Zeilen ausgewählt werden, die in einer angegebenen Spalte keinen Wert enthalten.

"Kein Wert" wird nicht mit dem Wert "0" oder " ", sondern durch NULL angezeigt.

SELECT anrede, vorname, nachname
       FROM kunde
       WHERE vorname IS NULL

SELECT nachname, ort
       FROM kunde
       WHERE konto IS NULL

***FEHLER 100 ZEILE NICHT GEFUNDEN

Möchte man - zur Probe - nur die ersten fünf Zeilen, diese aber durchnumeriert, heißt die Anweisung:

SELECT ROWNO, knr, anrede, vorname, nachname
       FROM kunde
       WHERE ROWNO <= 5

Das Ergebnis lautet dann:

2.5 Anordnung von Zeilen

ORDER BY gibt die Reihenfolge an, in der die Zeilen erscheinen sollen.

Im ersten Beispiel sind alle Zeilen in alphabetischer Reihenfolge nach "nachname" sortiert.

SELECT nachname, vorname, ort, konto
       FROM kunde
       ORDER BY nachname

Im nächsten Beispiel sind die Zeilen nach Zahlen absteigend (DESC) angeordnet. Ist über eine Sortierspalte nichts weiter ausgesagt, bedeutet das immer eine aufsteigende Folge. Sie kann auch explizit mit ASC angegeben werden.

SELECT nachname, vorname, ort, konto
       FROM kunde
       ORDER BY konto DESC

Eine Sortierspalte muß nicht gleichzeitig eine Ausgabespalte sein.

Statt des Sortierspaltennamens kann auch die Positionsnummer in der Ausgabeliste angegeben werden:

SELECT nachname, vorname, ort, konto
       FROM kunde
       ORDER BY 4 DESC
Die Sortierung bei ASCII-Verschlüsselung ist:

1. Leerzeichen

2. Sonderzeichen (%,&,+,-,*,/,...)

3. Ziffern

4. Sonderzeichen (:,;,<,=,>,...)

5. Großbuchstaben

6. Kleinbuchstaben

7. Nullwert

Die Sortierung bei EBCDIC-Verschlüsselung ist:

1. Leerzeichen

2. Sonderzeichen (+,&,*,;,-,/,%,:,...)

3. Kleinbuchstaben

4. Großbuchstaben

5. Ziffern

6. Nullwert

Die Verschlüsselungsart wird bei der Tabellendefinition festgelegt (s. u.).

Um eine sinnvolle Behandlung und Einsortierung von Umlauten und in anderen Sprachen verwendeten speziellen Buchstaben zu erreichen, werden von ADABAS sogenannte 'MAPCHAR SETs' verwendet. Bei der Installation der Datenbank wird eine DEFAULTMAP für die Umsetzung von länderspezifischen Buchstaben angelegt.

Der Datenbankadministrator kann jedoch auch eigene MAPCHAR SETs anlegen. Er definiert dann selbst, auf welche Weise spezielle Buchstaben auf andere abgebildet werden und nimmt somit Einfluß auf die Sortierreihenfolge.

Wenn z. B. 'ü' (in ASCII als X'FC' dargestellt) als 'ue' einsortiert werden soll, wird die folgende Zuordnung getroffen:

FC ... ue

Soll 'ü' als 'u' einsortiert werden, lautet die Zeile:

FC ... u

Möchte man in einer Ergebnistabelle eine bestimmte Sortierreihenfolge erreichen, wird die Funktion MAPCHAR verwendet. Soll dabei von der vorgeschlagenen DEFAULTMAP abgewichen werden, ist der Funktion ein vom Administrator erstelltes MAPCHAR SET als Argument mitzugeben.

Die Anweisung

SELECT nachname, vorname, ort, konto, MAPCHAR(nachname) nname
       FROM kunde
       ORDER BY nname

liefert dann die gewünschte Sortierfolge.


<< >> Up Title Contents Index