SQL AND & OR Operatoren
Die SQL AND & OR Operatoren werden in SQL-Where Bedingungen eingebaut, um bestimme Abfrageergebnisse ein- bzw. auszugrenzen. Der Einsatz der Operatoren folgt der booleschen Algebra, die man aus dem Mathematikunterricht kennt und einfach zu verstehen.Mithilfe des AND Operators werden SQL Bedingungen zusammengefasst. Der OR Operator sorgt für eine Unterscheidung zwischen zwei oder mehreren SQL Bedingungen.
Wichtig ist zu beachten, dass ein OR Operator in der booleschen Algebra immer schwerer wiegt, als ein AND Operator.
SQL AND Syntax
Die SQL Syntax einer Select-Abfrage mit WHERE und AND ist wie folgt aufgebaut:
SELECT Spaltenname FROM Tabellenname WHERE Spaltenname1 = Wert1 AND Spaltenname2 = Wert2
SQL OR Syntax
Die SQL Syntax einer Select-Abfrage mit WHERE und OR ist wie folgt aufgebaut:
SELECT Spaltenname FROM Tabellenname WHERE Spaltenname1 = Wert1 OR Spaltenname2 = Wert2
SQL WHERE AND Beispiel
Gegeben sei eine Tabelle namens "Mitarbeiter":
Nachname | Vorname | Gehalt | Geschlecht |
Gerhardt | Sabine | 2435 | w |
Müller | Dennis | 2090 | m |
Schulze | Holger | 3410 | m |
Opitz | Heiko | 3675 | m |
Meier | Julia | 1201 | w |
Nun möchte man alle Mitarbeiter, deren Gehalt und ihr Geschlecht anzeigen. Dabei sollen zwei Bedingungen gelten: Es sollen alle Frauen, die mehr als 2000 Euro verdienen, angezeigt werden:
Das SQL-Statement mit der AND-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT FROM MITARBEITER WHERE GESCHLECHT ='w' AND GEHALT > 2000
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Gerhardt | Sabine | 2435 | w |
SQL WHERE OR Beispiel
Gegeben sei wieder die Tabelle namens "Mitarbeiter":
Nachname | Vorname | Gehalt | Geschlecht |
Gerhardt | Sabine | 2435 | w |
Müller | Dennis | 2090 | m |
Schulze | Holger | 3410 | m |
Opitz | Heiko | 3675 | m |
Meier | Julia | 1201 | w |
Nun möchten man alle Mitarbeiter und deren Gehälter anzeigen. Dabei sollen zwei Bedingungen mit einer OR-Bedingung verknüpft werden und gelten: Es sollen alle Mitarbeiter, die weniger als 2000 Euro und mehr als 3000 Euro verdienen, angezeigt werden:
Das SQL-Statement mit der OR-Bedingung würde wie folgt aussehen:
SELECT NACHNAME,VORNAME,GEHALT,GESCHLECHT F ROM MITARBEITER WHERE GEHALT < 2000 OR GEHALT > 3000
Das Ergebnis würde wie folgt aussehen:
Nachname | Vorname | Gehalt | Geschlecht |
Schulze | Holger | 3410 | m |
Opitz | Heiko | 3675 | m |
Meier | Julia | 1201 | w |