SELECT: Vertikale Einschränkungen, Vergleichsoperatoren, LIKE

Smith, in Maulwurfstadt wohnen offensichtlich einige Mitglieder der terroristischen Vereinigung Dark Millenium Force. Über unsere Datenbank können wir sie finden.

Ein Zeuge hat einen rothaarigen Mann mit blauen Augen gesehen, außerdem eine sehr große, alte Frau und ◼️◼️◼️◼️◼️◼️◼️ ◼️◼️◼️ ◼️◼️◼️◼️◼️◼️ ◼️◼️ ◼️◼️◼️◼️◼️◼️ ◼️◼️◼️ ◼️◼️ ◼️◼️◼️◼️◼️ ◼️◼️◼️◼️ ◼️◼️ ◼️◼️◼️ ◼️◼️◼️◼️◼️◼️ ◼️◼️ ◼️◼️◼️◼️◼️ ◼️◼️◼️ ◼️◼️ ◼️◼️◼️◼️◼️◼️◼️ ◼️◼️◼️ ◼️◼️◼️◼️. Geben Sie Ösal ein paar Namen!

gez. ROUSSEAU

Hä? Was will sie? Sie will nicht alle … alle …

Datensätze. Sie will nicht alle 900 Bürger, sondern nur die, die bestimmte Eigenschaften haben.

Rote Haare 🧑‍🦰 zum Beispiel.

Richtig.

Und wie mache ich das? Könntest du es mir vielleicht aufschreiben?

Diese Behörde verkommt zu einem Stall voller Sklaven. ⛓️ Der eine trägt von morgens bis abends Briefe ✉️ durch die Gegend, hündisch 🐕 und devot -

Ich bitte doch sehr!

- der nächste schreibt dauernd irgendwelche Anleitungen ✍🏻 , und der Dritte liegt in seinem Büro und pennt. 🛌 Na prima.

Einschränkungen mit WHERE

Also. Jetzt willst du zum Beispiel nur alle Leute mit schwarzen Haaren sehen. Dann schreibst du:

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

Vergleichsoperatoren

Du kannst auch Vergleichsoperatoren wie = , < , > , <= (kleiner-gleich) , >= (größer-gleich) und != (ungleich) arbeiten. Z. B.

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

Hochkommata

Grundsätzlich schreibst du Zeichenketten (Texte) und Datumsangaben in einfache Hochkommata (Shift + #), aber du kannst fast alles in Hochkommata setzen, auch Zahlen.

Datumsangaben

Datumsangaben sind übrigens im Format JJJJ-MM-TT. Der 24.12.2000 ist also '2000-12-24'. Beispiel für eine Abfrage:

select *
from personen p
where p.geburtsdatum < '2000-12-24';

Platzhalter %

Du kannst auch mit Platzhaltern arbeiten. Der wichtigste Platzhalter bei SQL ist das Prozentzeichen (%) - das steht für kein, ein oder mehrere beliebige Zeichen. Das geht so:

select *
from personen p
where p.nachname like 'hen%';

Damit findest du alle Personen, deren Nachname mit den Buchstaben h,e,n beginnt - also Henschel, Henkel, Hen und Henrichs.

Wichtig: Wenn du Platzhalter verwendest, MUSST du like schreiben. Mit

falsch!

select *
from personen p
where p.nachname = 'hen%';

suchst du nach einer Person, die genau Hen% mit Nachnamen heißt. »Hallo, Herr Hen%.« »Wie geht es Ihnen, Frau Hen%?« Also merk dir: like und % gehen immer zusammen!

Nochmal im Video erklären, bitte

Ich kann mir nie den Unterschied zwischen Größer- und Kleinerzeichen merken.

Eselsbrücke: Male vor das Zeichen einen senkrechten Strich - wenn es ein "k" gibt, ist es "kleiner".

Hä?

Na - |< sieht aus wie ein "k". |> sieht NICHT aus wie ein "k".

Ah! Das kann ich mir gut merken! Ich kannte bisher immer nur die Größer-Kleinerzeichen-Eselsbrücke mit dem Krokodil. Die habe ich aber nie richtig verstanden.

*stöhn (ab)

  Also … Mal schauen …

  1. Ich suche alle Personen mit schwarzen Haaren.
  2. Dann suche ich alle Personen mit blauen Augen.
  3. Alle sehr großen Personen, aber von denen reicht Nachname, Vorname und Körpergröße.
  4. Alle Männer. Am besten nur Nachname und Geschlecht ausgeben, sonst spinnt Rousseau wieder rum.
  5. Alle Frauen, auch hier reicht bestimmt Nachname und Geschlecht.
  6. Alle sehr alten Personen. Hm, da müsste das Geburtsdatum dann …größer oder kleiner als 1950 sein?!? Oder als '1950-01-01'?!?? Mal ausprobieren …
  7. Alle Personen, deren Nachname mit einem M beginnt. Aha, da muss ich wohl mit like arbeiten …
  8. Alle Personen, die in einer Straße wohnen, deren Bezeichnung mit "allee" endet.
  9. Alle, die Ebert oder Eckert heißen.
  10. Das ist ja spannend! Mal schauen, ob der Weihnachtsmann auch da wohnt: Welche Personen haben an Heiligabend Geburtstag?

Hey! Ösal! Würdest du freundlicherweise deiner Herrin 👸 diese Listen bringen?

Und jetzt mache ich endlich mal ein Schläfchen