LogischeOperatoren-SQL: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „erwre“ |
Keine Bearbeitungszusammenfassung Markierung: Manuelle Zurücksetzung |
||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Logische Operatoren in SQL == | |||
SQL bietet verschiedene logische Operatoren, um Bedingungen zu verknüpfen und Werte zu vergleichen. Sie werden vor allem in der `WHERE`-Klausel verwendet. | |||
=== AND – Beide Bedingungen müssen wahr sein === | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE land = 'Deutschland' AND stadt = 'Berlin'; | |||
</syntaxhighlight> | |||
Gibt alle Kunden aus, die in '''Deutschland''' und in '''Berlin''' wohnen. | |||
=== OR – Mindestens eine Bedingung muss wahr sein === | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE land = 'Deutschland' OR land = 'Österreich'; | |||
</syntaxhighlight> | |||
Gibt alle Kunden aus, die entweder aus '''Deutschland''' oder '''Österreich''' kommen. | |||
=== NOT – Bedingung muss '''nicht''' wahr sein === | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE NOT land = 'Deutschland'; | |||
</syntaxhighlight> | |||
Gibt alle Kunden aus, die '''nicht''' aus Deutschland sind. | |||
=== LIKE – Mustervergleich mit Wildcards === | |||
Wird verwendet, um Zeichenfolgen anhand eines Musters zu filtern. | |||
Zwei wichtige Platzhalter: | |||
* '''%''' – Beliebig viele Zeichen | |||
* '''_''' – Genau ein Zeichen | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE name LIKE 'A%'; | |||
</syntaxhighlight> | |||
Gibt alle Kunden zurück, deren Name mit '''A''' beginnt (z. B. '''Anna'''). | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE name LIKE '%er'; | |||
</syntaxhighlight> | |||
Gibt Kunden zurück, deren Name mit '''er''' endet (z. B. '''Müller'''). | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE name LIKE '_a%'; | |||
</syntaxhighlight> | |||
Gibt Kunden zurück, deren zweiter Buchstabe ein '''a''' ist. | |||
=== Kombination von LIKE mit AND/OR === | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE name LIKE 'A%' AND stadt = 'Berlin'; | |||
</syntaxhighlight> | |||
Gibt alle Kunden, deren Name mit '''A''' beginnt '''und''' die in Berlin wohnen. | |||
== BETWEEN – Bereichsabfrage == | |||
Prüft, ob ein Wert innerhalb eines geschlossenen Bereichs liegt (inklusive Grenzen). | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM produkte | |||
WHERE preis BETWEEN 10 AND 100; | |||
</syntaxhighlight> | |||
== IN – Wert in Liste enthalten == | |||
Prüft, ob ein Wert in einer gegebenen Liste vorkommt. | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE land IN ('Deutschland', 'Österreich', 'Schweiz'); | |||
</syntaxhighlight> | |||
== IS NULL / IS NOT NULL – Null-Werte prüfen == | |||
NULL ist ein spezieller Wert für „kein Inhalt“. Man vergleicht ihn nicht mit =, sondern mit IS. | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE telefon IS NULL; | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="sql"> | |||
SELECT * FROM kunden | |||
WHERE telefon IS NOT NULL; | |||
</syntaxhighlight> | |||
[[Kategorie:Datenbanken]] | |||
[[Kategorie:Semester1]] |
Aktuelle Version vom 12. Mai 2025, 10:39 Uhr
Logische Operatoren in SQL
SQL bietet verschiedene logische Operatoren, um Bedingungen zu verknüpfen und Werte zu vergleichen. Sie werden vor allem in der `WHERE`-Klausel verwendet.
AND – Beide Bedingungen müssen wahr sein
SELECT * FROM kunden
WHERE land = 'Deutschland' AND stadt = 'Berlin';
Gibt alle Kunden aus, die in Deutschland und in Berlin wohnen.
OR – Mindestens eine Bedingung muss wahr sein
SELECT * FROM kunden
WHERE land = 'Deutschland' OR land = 'Österreich';
Gibt alle Kunden aus, die entweder aus Deutschland oder Österreich kommen.
NOT – Bedingung muss nicht wahr sein
SELECT * FROM kunden
WHERE NOT land = 'Deutschland';
Gibt alle Kunden aus, die nicht aus Deutschland sind.
LIKE – Mustervergleich mit Wildcards
Wird verwendet, um Zeichenfolgen anhand eines Musters zu filtern. Zwei wichtige Platzhalter:
- % – Beliebig viele Zeichen
- _ – Genau ein Zeichen
SELECT * FROM kunden
WHERE name LIKE 'A%';
Gibt alle Kunden zurück, deren Name mit A beginnt (z. B. Anna).
SELECT * FROM kunden
WHERE name LIKE '%er';
Gibt Kunden zurück, deren Name mit er endet (z. B. Müller).
SELECT * FROM kunden
WHERE name LIKE '_a%';
Gibt Kunden zurück, deren zweiter Buchstabe ein a ist.
Kombination von LIKE mit AND/OR
SELECT * FROM kunden
WHERE name LIKE 'A%' AND stadt = 'Berlin';
Gibt alle Kunden, deren Name mit A beginnt und die in Berlin wohnen.
BETWEEN – Bereichsabfrage
Prüft, ob ein Wert innerhalb eines geschlossenen Bereichs liegt (inklusive Grenzen).
SELECT * FROM produkte
WHERE preis BETWEEN 10 AND 100;
IN – Wert in Liste enthalten
Prüft, ob ein Wert in einer gegebenen Liste vorkommt.
SELECT * FROM kunden
WHERE land IN ('Deutschland', 'Österreich', 'Schweiz');
IS NULL / IS NOT NULL – Null-Werte prüfen
NULL ist ein spezieller Wert für „kein Inhalt“. Man vergleicht ihn nicht mit =, sondern mit IS.
SELECT * FROM kunden
WHERE telefon IS NULL;
SELECT * FROM kunden
WHERE telefon IS NOT NULL;