LogischeOperatoren-SQL: Unterschied zwischen den Versionen

Aus FI-Wiki
Die Seite wurde neu angelegt: „erwre“
 
Keine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
erwre
== 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;