|
Where-KlauselBedeutung: Die WHERE-Klausel wird in Verbindung mit dem UPDATE- und dem SELECT-Statement verwendet. Mit ihr lassen sich Bedingungen formulieren, mit denen die Anzahl der betroffenen Datensätze (Zeilen) eingeschränkt werden. Innerhalb der WHERE-Klausel lassen sich Boolsche-Operatoren wie 'AND' oder 'OR' verwenden. Mit dem Klammern von Bedingungen kann man die Ergebnismenge genauer spezifizieren. Allgemeine Form: SELECT:
UPDATE:
Um zwei oder mehrere Bedingungen zu formulieren kann man 'AND' und/oder 'OR' benutzen:
Neben dem oben mehrmals verwendeten Operator '=' gibt es noch weitere wichtige Operatoren:
Beispiele: Alle Beispiele gehen von der folgenden Tabelle aus:
Die Verwendung der WHERE-Klausel ist bei SELECT und UPDATE identisch. Die Beispiele beziehen sich daher nur auf das SELECT-Statement. Tipp: Möchte man per UPDATE-Statement eine Anzahl von Spalten in einer Tabelle ändern so kann man sich - wenn man das Statement zu einer SELECT-Abfrage umformuliert - erst einmal ansehen, welche Datensätze von dieser Ändrung betroffen sein würden. Vorraussetzung dafür ist allerdings, das die Bedingungen in der WHERE-Klausel identisch sind. a) Selektierung von Datensätzen über '=':
Die Ergebnismenge enthält genau zwei Datensätze: Paula und Petra jeweils mit den entsprechenden Nachnamen und den Orten. Das gleiche Resultat lässt sich über folgenden zwei Abfragen realisieren: b) Selektierung von Datensätzen über '!=':
c) Selektierung von Datensätzen über 'NOT':
Die Abfrage b) ist im Grunde identisch mit der Abfrage c). Nur die Schreibweise ist verkürzt. Wichtig bei der Verwendung von 'NOT' ist, daß 'NOT' vor dem Feldnamen steht, für den die Bedingung gelten soll. d) Selektierung von Datensätzen über den Operator 'LIKE':
Der Operator 'LIKE' unterscheidet sich insofern von den bisher dargestellten als dass er 'Wildcards' zuläßt. So werden mit dem obigen Statement z.B. alle Datensätze ausgegeben, die irgendwo(!) im Ortsnamen ein 'g' enthalten. Also Augustburg und Langenort inklusive der zum Datensatz gehörenden Vor- und Nachnamen. Wichtig: Bei der Verwendung von 'LIKE' ist die Angabe der 'Wildcards'. In diesem Fall das Prozentzeichen vor und nach dem gesuchten Wert (g). Läßt man diese Prozentzeichen weg, so verhält sich die Suche mit 'LIKE' genauso wie die mit '='. Die Ergebnismenge wäre dieselbe. Aus der obigen Tabelle würde kein Datensatz ausgewählt da kein Ort g in der Tabelle vorhanden ist. Bedeutung der Wildcards:
Die Ergebnismenge wäre wiederum identisch mit der aus den Abfragen a), b) und c). f) Selektierung von Datensätzen über 'IN':
Bei der Verwendung von 'IN' gibt man die zugelassenen Werte als kommaseparierte Liste innerhalb einer Klammer an. Die Ergebnismenge dieser Abfrage wäre wiederum identisch mit der aus den Abfragen a), b), c) und dem letzten Beispiel in d). g) Selektierung von Datensätzen über 'BETWEEN':
Die Ergebnismenge dieser Abfrage wäre wiederum identisch mit der aus den Abfragen a), b), c), f) und dem letzten Beispiel in d). h) Selektierung von Datensätzen über '>=' bzw. '<=':
Die Ergebnismenge dieser Abfrage wäre wiederum identisch mit der aus den Abfragen a), b), c), f), g) und dem letzten Beispiel in d). Eine kleine Änderung am Statement hätte eine andere Ergebnismenge zur Folge:
Wenn man - wie hier geschehen - 'AND' durch 'OR' ersetzt so würden alle Datensätze aus der Tabelle zurückgegeben da jeder der drei Datensätze mindestens eine der beiden Bedingungen erfüllt. |
|||||||||||||||||||||||||||||||||||||||||||
|
Letzte Änderung: 17. Mai 2002, 22:26 Uhr © 2002, Klaus Becker, becker-k@web.de |