Skip to main content

Operators

ARITHMETIC OPERATORS

SELECT 5 + 3      AS Addition, 
5 - 3 AS Subtraction,
5 * 3 AS Multiplication,
5 / 3.0 AS Division,
5 % 3 AS Modulus;

COMPARISON OPERATORS

=, <>, >, <, >=, <=

SELECT * 
FROM Employees
WHERE Salary >= 50000;

LOGICAL OPERATORS

SELECT * 
FROM Employees
WHERE Salary > 50000 AND Department = 'IT';

SELECT *
FROM Employees
WHERE Salary > 50000 OR Department = 'HR';

SELECT *
FROM Employees
WHERE NOT (Department = 'IT');

BETWEEN

Werte innerhalb eines Bereichs

SELECT * 
FROM Orders
WHERE OrderDate BETWEEN '2025-01-01' AND '2025-01-31';

IN

Übereinstimmung mit einer Liste von Werten

SELECT * 
FROM Orders
WHERE Status IN ('Pending', 'Processing');

LIKE

SELECT * 
FROM Customers
WHERE Name LIKE 'A%';

Pattern Matching mit LIKE

JokerzeichenBedeutungBeispielErklärung
%Beliebige Anzahl von Zeichen (auch kein Zeichen)'M%'`Findet alle Namen, die mit "M" beginnen (z. B. "Max", "Maria", "Michael")
_Genau ein beliebiges Zeichen'J_n'`Findet Namen mit genau drei Zeichen, die mit "J" beginnen und auf "n" enden (z. B. "Jan", "Jon")
[ ]Bestimmte Zeichen an einer Position'T[ae]m'`Findet "Tam" oder "Tem", aber nicht "Tim"
[^ ]Ausschluss bestimmter Zeichen'T[^a]m'`Findet "Tim" oder "Tom", aber nicht "Tam"
[ - ]Zeichenbereich'C[a-c]t'`Findet "Cat", "Cbt" oder "Cct"
ESCAPEErmöglicht die Suche nach Sonderzeichen (% oder _)WHERE Name LIKE '50\\%' ESCAPE '\\'Findet "50%" statt "50irgendwas"

IS: NULL-Prüfung

SELECT * 
FROM Products
WHERE Discontinued IS NULL;

BITWISE OPERATORS

DECLARE @a INT = 5, @b INT = 3;
SELECT @a & @b AS BitwiseAND,
@a | @b AS BitwiseOR,
@a ^ @b AS BitwiseXOR;

STRING-KONKATENATION

SELECT 'Hello, ' + 'World!' AS Greeting;

CASE

SELECT Name,
CASE
WHEN Salary > 70000 THEN 'High'
WHEN Salary BETWEEN 50000 AND 70000 THEN 'Medium'
ELSE 'Low'
END AS SalaryLevel
FROM Employees;

COALESCE & ISNULL

(NULL-Behandlung)

SELECT Name, COALESCE(Phone, 'No Phone') AS PhoneNumber FROM Employees;
SELECT Name, ISNULL(Phone, 'No Phone') AS PhoneNumber FROM Employees;

ALL

Vergleicht einen Wert mit allen Werten in einer Unterabfrage. Beispiel: Finde alle Produkte, deren Preis höher ist als der Preis aller Produkte in der Kategorie 'Elektronik'.

SELECT Produktname
FROM Produkte
WHERE Preis > ALL (SELECT Preis FROM Produkte WHERE Kategorie = 'Elektronik');

ANY

Vergleicht einen Wert mit mindestens einem Wert in einer Unterabfrage. Beispiel: Finde alle Produkte, deren Preis höher ist als der Preis irgendeines Produkts in der Kategorie 'Elektronik'.

SELECT Produktname
FROM Produkte
WHERE Preis > ANY (SELECT Preis FROM Produkte WHERE Kategorie = 'Elektronik');

EXISTS

Prüft, ob eine Unterabfrage mindestens eine Zeile zurückgibt. Beispiel: Finde alle Kunden, die mindestens eine Bestellung aufgegeben haben.

SELECT Kundenname
FROM Kunden
WHERE EXISTS (SELECT 1 FROM Bestellungen WHERE KundenID = Kunden.KundenID);