Grundaufbau
Dabei ist <fields>
eine kommagetrennte Liste von Attributen, z.B. id, username, email
. Alternativ kann man auch *
für alle Attribute einsetzen:
<table name>
ist der bzw. die Name(n) der abzufragenden Tabellen, z.B. users
oder kommagetrennte Namen z.B. users, likes
für Abfragen über mehrere Tabellen.
Wichtig dabei ist das Konzept der Resultattabelle, also bekommt man immer eine neue Tabelle von seiner Query. Diese kann man mit WHERE
filtern:
In dem Fall werden nur alle Nutzer zurückgegeben, wo <condition>
erfüllt ist. Dazu später mehr.
Man kann übrigens auch die Resultattabelle direkt modifizieren. Also kann man z.B. Felder der Resultattabelle mit AS
umbenennen:
Die Resultattabelle hätte dann ein Attribut, nämlich full_name
.
Konditionen
Vergleiche
=
Gleichheit -column = value
!=
bzw.<>
Ungleichheit -column != value
>
Größer als - `column > value<
Kleiner als - `column < value>=
Größer oder gleich - `column >= value<=
Kleiner oder gleich - `column ⇐ valueBETWEEN
Gleichheit - `column BETWEEN value1 AND value2LIKE
Vergleich von Text- Spalte enthält Wert:
column LIKE '%value%'
- Spalte beginnt mit Wert:
column LIKE 'value%'
- Spalte endet mit Wert:
column LIKE '%value'
- Wert ist gleich (wie
=
):column LIKE 'value'
(aber hierbei kann man nicht nach einem Prozentzeichen überprüfen, da dies eine Wildcard repräsentiert)
- Spalte enthält Wert:
Logikoperatoren
AND
- TRUE, falls beide booleschen Ausdrücke TRUE ergeben.
OR
- TRUE, falls mindestens einer der beiden booleschen Ausdrücke TRUE ergibt.