oktatas:adatbazis-kezeles:mariadb:sql:a_case_operator
Tartalomjegyzék
MariaDB - A case operátor
- Szerző: Sallai András
- Copyright © 2024, Sallai András
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Szintaxis
CASE value WHEN [összehasonlító_érték] THEN eredmény [WHEN [összehasonlító_érték] THEN eredmény...] [ELSE eredmény] END
CASE WHEN [feltétel] THEN eredmény [WHEN [feltétel] THEN eredmény...] [ELSE eredmény] END
Dolgozók példa
select * from employees; +----+--------------+---------+--------+ | id | name | city | salary | +----+--------------+---------+--------+ | 1 | Para Béla | Szolnok | 342 | | 2 | Fele Irén | Szeged | 332 | | 3 | Nora Imre | Szeged | 362 | | 4 | Szal Katalin | Szolnok | 372 | | 5 | Endő Lajos | Miskolc | 334 | | 6 | Tengi Mária | Szolnok | 329 | | 7 | Csonka Ernő | Miskolc | 392 | +----+--------------+---------+--------+
- Számoljuk meg a szegedi dolgozókat WHERE direktíva nélkül.
select sum(case when city='Szeged' then 1 else 0 end) as 'Szegedi dolgozók száma' from employees;
Önmagában nem sok értelme van, hiszen egyszerűbb egy WHERE direktíva használata. Ha viszont, egyszerre szeretném látni hány dolgozó van összesen, és hány van Szegedről:
select count(*) as 'Dolgozók száma', sum(case when city='Szeged' then 1 else 0 end) as 'Szegedi dolgozók száma' from employees;
Dokumentáció
oktatas/adatbazis-kezeles/mariadb/sql/a_case_operator.txt · Utolsó módosítás: 2024/10/24 21:32 szerkesztette: admin