Anfang des Inhaltsbereichs

Suchbedingung (search_condition) Dokument im Navigationsbaum lokalisieren

Eine Suchbedingung (search_condition) verknüpft Aussagen, die wahr, falsch oder undefiniert sein können. Es können Zeilen in einer Tabelle gefunden werden, die mehrere Bedingungen erfüllen, die durch AND oder OR verknüpft werden.

Syntax

<search_condition> ::= <boolean_term> | <search_condition> OR <boolean_term>

<boolean_term> ::= <boolean_factor> | <boolean_term> AND <boolean_factor>

boolean_factor: Ermitteln der zu verknüpfenden booleschen Werte (BOOLEAN) bzw. deren Negation (NOT).

Erläuterung

In einer WHERE-Klausel werden Prädikate auf eine gegebene Zeile oder auf eine Gruppe von Zeilen einer Tabelle, die mit Hilfe der GROUP-Klausel gebildet wurde, angewendet. Diese Resultate werden mit den angegebenen booleschen Operatoren (AND, OR, NOT) verknüpft.

Bei fehlender Klammerung ist die Priorität der Operatoren folgendermaßen festgelegt: NOT bindet stärker als AND und OR, AND bindet stärker als OR. Bei gleicher Priorität erfolgt die Auswertung von links nach rechts.

NOT

x

NOT(x)

wahr

falsch

falsch

wahr

undefiniert

undefiniert

x AND y

x                        y

falsch

undefiniert

wahr

falsch

falsch

falsch

falsch

undefiniert

falsch

undefiniert

undefiniert

wahr

falsch

undefiniert

wahr

x OR y

x                        y

falsch

undefiniert

wahr

falsch

falsch

undefiniert

wahr

undefiniert

undefiniert

undefiniert

wahr

wahr

wahr

wahr

wahr

Beispiel

Beispieltabelle customer

Angabe von Kunden, die in New York wohnen oder ein Guthaben haben:

SELECT firstname, name, city, account FROM customer
WHERE city = 'New York' OR account > 0

FIRSTNAME

NAME

CITY

ACCOUNT

Jenny

Porter

New York

100.00

?

DATASOFT

Dallas

4813.50

Michael

Porter

New York

0.00

George

Howe

New York

-315.40

Joseph

Peters

Los Angeles

650.00

Mark

Griffith

New York

0.00

?

TOOLware

Los Angeles

3770.50

Rose

Brown

Hollywood

440.00

Angabe von Kunden, die in Hollywood wohnen und ein Guthaben haben:

SELECT firstname, name, city, account FROM customer
WHERE city = 'Hollywood' AND account > 0

FIRSTNAME

NAME

CITY

ACCOUNT

Rose

Brown

Hollywood

440.00

 

Ende des Inhaltsbereichs