Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SELECT ... WHERE - Ergebnissätze auswählen

In der WHERE-Klausel geben Sie eine Suchbedingung an, um Sätze für die Ergebnistabelle auszuwählen. Die Ergebnistabelle enthält nur die Sätze, die die angegebene Bedingung erfüllen (d.h. die Suchbedingung ist wahr). Sätze, für die die Suchbedingung falsch oder unbestimmt ergibt, werden nicht in die Ergebnistabelle aufgenommen.


SELECT ...

WHERE suchbedingung



suchbedingung

Bedingung, die die auszuwählenden Sätze erfüllen müssen.


Beispiele


Die Prädikate sind ausführlich im Kapitel „Zusammengesetzte Sprachelemente" beschrieben. Hier sind wesentliche Arten von Suchbedingungen an Hand von einfachen Beispielen zusammengestellt.


Vergleich mit Konstante: =, <, <=, >, >=, <>

SELECT knr, firma FROM kunde WHERE plz = 81739

Vergleich mit Zeichenketten-Muster: [NOT] LIKE

SELECT * FROM kunde WHERE firma LIKE 'Sie%'

Bereichsabfrage: [NOT] BETWEEN

SELECT knr, firma FROM kunde WHERE plz BETWEEN 80000 AND 89999

Vergleich auf NULL-Wert: IS [NOT] NULL

SELECT lnr, anr, ltext FROM leistung WHERE rnr IS NULL

Vergleich auf mehrere Werte: [NOT] IN

SELECT knr, firma FROM kunde WHERE plz IN (81739, 80469)

Innere SELECT-Anweisung: [NOT] EXISTS

SELECT firma FROM kunde

WHERE NOT EXISTS (SELECT * FROM auftrag WHERE kunde.knr = auftrag.knr)

Unterabfrage (siehe Abschnitt „Unterabfrage"):

Unterabfrage, die eine Ergebnisspalte liefert: ALL, ANY, SOME, [NOT] IN

SELECT firma FROM kunde WHERE kunde.knr =

SOME (SELECT knr FROM auftrag WHERE adatum = DATE '<date>')

Korrelierte Unterabfrage:

Für jeden Auftrag die Leistung heraussuchen, die mindestens doppelt so groß ist wie die Durchschnittsleistung für diesen Auftrag:

SELECT l1.lnr, l1.anr, l1.ltext FROM leistung l1
   WHERE l1.lanz * l1.lsatz > 2 * 
   (SELECT AVG(l2.lanz * l2.lsatz) 
    FROM leistung l2 WHERE l2.anr = l1.anr)

Bedingung: AND, OR, NOT

SELECT lnr, anr, ldatum, ltext FROM leistung

WHERE ltext = 'Schulung' AND ldatum >= DATE '<date>'