Verknüpfte Bedingungen

Hinweise zu verknüpften Bedingungen

Zu Anfang schreiben Schüler/innen gerne mehrfach WHERE. Weisen Sie deutlich darauf hin, dass in jeder Abfrage nur einmal das Wort WHERE steht, der Rest wird mit AND und OR gemacht.

Was ist denn JETZT schon wieder?

Frau Rousseau KOCHT! ♨️  Sie wollte rothaarige, alte Männer, und du gibst ihr eine Liste mit hunderten von Personen, die einfach nur rothaarig sind! Oder eine Liste, wo einfach alle Frauen 👩 drauf sind, aber es wurde doch eine große Frau gesehen!

Das geht nicht mit einer Datenbank. Du kannst immer nur ein …äh …

Quatsch mit Sauce. Natürlich kannst du auch mehrere Attribute einschränken. Ich schreib's dir direkt auf, dann spare ich mir die Luft.

Mehrere Bedingungen verknüpfen

Du kannst mehrere Bedingungen mit AND oder OR verknüpfen. Wenn du alle großen Frauen willst, dann heißt das: Geschlecht muss weiblich sein UND Körpergröße mehr als 180. Das sieht dann so aus:

select *
from personen p
where p.geschlecht = 'w'
and p.koerpergroesse > 180;

Achtung - immer nur EINMAL WHERE! Und beachte, dass die 180 auch ohne Hochkommata stehen könne, so wie ich es gemacht habe.

Natürlich kannst du auch mehrere Bedingungen verknüpfen:

select *
from personen p
where p.geschlecht = 'm'
and p.augenfarbe = 'blau'
and p.haarfarbe = 'schwarz';

Das ODER funktioniert genau gleich. Willst du alle mit roten oder schwarzen Haaren, schreibst du einfach

select *
from personen p
where p.haarfarbe = 'rot'
or p.haarfarbe = 'schwarz';

Nochmal im Video erklären, bitte

Ok. Danke. Also, Ösal, was wollte die Rousseau nochmal?

Ist top secret, hat Frau Rousseau gesagt. Sorry, Kowalsky … (flüstert in Smiths Ohr - bsssbsbsfsbsbs).

Alles klar, warte kurz - hab ich gleich.

  1. Alle rothaarigen Männer mit blauen Augen.
  2. Alle großen, alten Frauen.
  3. Ein Minderjähriger mit blonden Haaren wurde gesehen, wie er an einer Laterne herumgeschraubt hat.
  4. Aus einem Haus wurden verdächtige Gerüche gemeldet; der Zeuge ist uralt und sieht fast nichts mehr, er konnte die Hausnummer nicht erkennen. Er meinte, es war die Hausnummer 36 oder 30.
  5. Eine der verdächtigen Personen ist sehr dick, eine andere sehr dünn. Am besten lasse ich mir alle Dicken und alle Dünnen in einer Liste ausgeben.
  6. Eine weitere verdächtige Person war eine Frau. Der Zeuge hat aber nicht genau gesehen, ob ihre Haare schwarz oder blond waren. Also muss ich wohl suchen nach Frau UND (schwarz oder blond). Ohne Klammer sucht das System dann noch versehentlich nach (Frau UND schwarz) ODER blond. Muss ich mal bisschen mit rumspielen.
  7. Das mit der Hausnummer hat sich präzisiert. Es war die Hausnummer 14 oder 22 in der Alfred-Döblin-Straße.

Junge, Junge - dieser Tage verdiene ich mein Geld aber auch hart! Erst mal die Beine hochlegen und …