Logo Wand.Tools

SQL CASE Generator

Brug AI til at generere CASE-sætninger til betinget logik i SQL

SQL CASE vejledning

SQL CASE Tutorial

SQL CASE-sætningen bruges til at implementere betinget logik i SQL-forespørgsler. Den giver dig mulighed for at udføre forskellige handlinger baseret på specifikke betingelser. Denne tutorial vil guide dig gennem syntaksen og anvendelsen af CASE-sætningen med praktiske eksempler.

Syntaks

Den grundlæggende syntaks for CASE-sætningen er som følger:

CASE
    WHEN betingelse1 THEN resultat1
    WHEN betingelse2 THEN resultat2
    ...
    ELSE standard_resultat
END
  • betingelse1, betingelse2, …: Dette er de betingelser, der evalueres i rækkefølge.
  • resultat1, resultat2, …: Resultatet returneres, hvis den tilsvarende betingelse er sand.
  • standard_resultat: Resultatet returneres, hvis ingen af betingelserne er sande (valgfrit).

Eksempel 1: Simpel CASE

Antag, at du har en tabel employees med kolonnerne id, name og salary. Du ønsker at kategorisere medarbejdere baseret på deres løn:

SELECT 
    name,
    salary,
    CASE
        WHEN salary > 100000 THEN 'Høj'
        WHEN salary BETWEEN 50000 AND 100000 THEN 'Mellem'
        ELSE 'Lav'
    END AS salary_category
FROM employees;

Denne forespørgsel returnerer navn, løn og en ny kolonne salary_category, der kategoriserer hver medarbejders løn som ‘Høj’, ‘Mellem’ eller ‘Lav’.

Eksempel 2: CASE i ORDER BY

Du kan også bruge CASE-sætningen i ORDER BY-klausulen til at sortere resultater baseret på betinget logik:

SELECT 
    name,
    salary
FROM employees
ORDER BY 
    CASE
        WHEN salary > 100000 THEN 1
        WHEN salary BETWEEN 50000 AND 100000 THEN 2
        ELSE 3
    END;

Denne forespørgsel sorterer først medarbejdere med høj løn, efterfulgt af mellem og lav løn.

Eksempel 3: CASE i UPDATE

CASE-sætningen kan også bruges i en UPDATE-sætning til at opdatere poster betinget:

UPDATE employees
SET salary = 
    CASE
        WHEN salary < 50000 THEN salary * 1.1
        WHEN salary BETWEEN 50000 AND 100000 THEN salary * 1.05
        ELSE salary
    END;

Denne forespørgsel øger lønnen for medarbejdere med 10%, hvis deres løn er under 50.000, med 5%, hvis deres løn er mellem 50.000 og 100.000, og lader den være uændret ellers.

Konklusion

SQL CASE-sætningen er et kraftfuldt værktøj til at implementere betinget logik i dine forespørgsler. Den kan bruges i SELECT-, UPDATE-, ORDER BY- og andre klausuler for at gøre dine SQL-forespørgsler mere fleksible og dynamiske. Øv dig i at bruge CASE-sætningen i forskellige scenarier for fuldt ud at forstå dens potentiale.