Databases Reference
In-Depth Information
SELECT *
FROM kunde
WHERE status = 'S';
Die Antwort enthält (wegen
SELECT *
)
alle Spalten
der Kundentabelle
8
, was wegen
der Breite einer Zeile je nach Version des DBMS zu einem Umbruch in der Listen-
darstellung führt oder zu einer Ausgabe, die jeweils nur stückweise durch Seit-
wärts-Scrollen des Bildschirms sichtbar gemacht werden kann:
kunden_nr status kname strasse ...
=========== ====== ========================== =============== ... 100
S Voss, Hans Kuhdamm 12 ...
101 S Stein, Peter Moordamm 34 ... 103
S Randers, Nis Am Seeufer 12 ... 999 S
Stuff, Werner Tarper Weg ...
Wir erhalten ein besser lesbares Resultat, wenn wir diese Selektion mit einer Pro-
jektion auf die wichtigen Spalten kombinieren:
SELECT kunden_nr, kname, status
FROM kunde
WHERE status = 'S';
Antwort:
KUNDEN_NR KNAME STATUS
=========== ============================== ======
100 Voss, Hans S
101 Stein, Peter S
103 Randers, Nis S
105 Stuff, Werner S
Die WHERE-Klausel
Bevor wir auf die Einzelheiten der WHERE-Klausel eingehen, sollen einige kurze
Bemerkungen über die theoretischen Grundlagen von Selektionen dargestellt wer-
den.
Bei Datenbanken werden
logische Ausdrücke
eingesetzt, um
Bedingungen
zu formu-
lieren, denen die Tupel genügen müssen (Wahrheitswert
TRUE
), die in der Ergebnis-
tabelle erscheinen sollen. Logische Ausdrücke wiederum setzen sich aus
primiti-
ven
9
logischen Ausdrücken
zusammen, die durch die logischen Junktoren
AND
,
OR
und
NOT
zu
komplexen logischen Ausdrücken
verknüpft werden können. Beispiele für pri-
8
Bei SYBASE SQL Anywhere ist NAME ein reserviertes Wort. Daher haben wir dort das Attribut
der Kundentabelle in kname umbenannt.
9
primitiv
ist hier im Gegensatz zu komplex zu sehen:
Primitive logische Ausdrücke
sind die ur-
sprünglichen Bedingungen, aus denen
komplexe logische Ausdrücke
zusammengesetzt werden
können.