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:
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 nachnameIm 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 DESCDie 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.