SQL príkaz CASE je podmienený výraz, ktorý umožňuje používateľom vykonávať rôzne akcie na základe rôznych podmienok. Je podobná logike if-else v iných programovacích jazykoch.
Príkaz CASE v SQL
CASE Expression v SQL prechádza všetkými podmienkami a zastaví sa, keď je splnená akákoľvek podmienka. Nekontroluje ďalšie podmienky po tom, čo podmienka vráti hodnotu true a vráti výsledky založené na tejto podmienke.
Ak nie je splnená žiadna podmienka, vykoná sa časť ELSE. Ak neexistuje iná časť, vráti sa NULOVÝ.
dobový kľúč
Syntax
Ak chcete použiť príkaz CASE v SQL, použite nasledujúcu syntax:
CASE case_value
KEDY stave POTOM výsledok1
KEDY stave POTOM výsledok2
…
Inak výsledok
KONIEC CASE;
Príklad SQL CASE
Pozrime sa na niekoľko príkladov príkazu CASE v SQL, aby sme mu lepšie porozumeli.
zásobník java
Vytvorme si ukážkovú SQL tabuľku, ktorá bude použitá v príkladoch.
Demo SQL databáza
Túto vzorovú tabuľku SQL použijeme pre naše príklady príkazu SQL CASE:
| CustomerID | Meno zákazníka | Priezvisko | Krajina | Vek | Telefón |
|---|---|---|---|---|---|
| 1 | Pochybnosť | Thakur | India | 23 | xxxxxxxxxx |
| 2 | Bezpečný | Chopra | Austrália | dvadsaťjeden | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Srí Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Rakúsko | dvadsaťjeden | xxxxxxxxxx |
| 5 | Nishant. Klobásy S.A. | Jain | Španielsko | 22 | xxxxxxxxxx |
Rovnakú databázu môžete vytvoriť vo svojom systéme napísaním nasledujúceho dotazu MySQL:
MySQL CREATE TABLE Customer( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
Príklad výrazu CASE
V tomto príklade použijeme príkaz CASE
čo robí počítač rýchlym
Dopyt:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
Príklad SQL CASE pri viacerých podmienkach
Do príkazu CASE môžeme pridať viacero podmienok pomocou viacerých KEDY klauzuly.
Dopyt:
SELECT CustomerName, Age, CASE WHEN Age>22 POTOM 'Vek je vyšší ako 22' KEĎ Vek = 21 POTOM 'Vek je 21' INAK 'Vek je nad 30' KONČÍ AKO Text množstva OD zákazníka;>
Výkon:
všetky veľké písmená príkaz excel

Výkon
Výpis CASE s príkladom klauzuly ORDER BY
Zoberme si tabuľku zákazníkov, ktorá obsahuje CustomerID, CustomerName, Last Name, Country, Age a Phone. Údaje v tabuľke Zákazník môžeme skontrolovať pomocou ZORADIŤ PODĽA doložka s výrokom CASE.
Dopyt:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Výkon:

Výpis CASE s výstupom príkladu klauzuly ORDER BY
Dôležité body o vyhlásení CASE
- Príkaz SQL CASE je podmienený výraz, ktorý umožňuje vykonávanie rôznych dotazov na základe špecifikovaných podmienok.
- Vždy by mala existovať a SELECT vo vyhlásení CASE.
- END ELSE je voliteľný komponent, ale KEĎ POTOM tieto prípady musia byť zahrnuté do výkazu CASE.
- Môžeme urobiť akýkoľvek podmienený príkaz pomocou akéhokoľvek podmieneného operátora (napr KDE ) medzi WHEN a THEN. To zahŕňa spojenie viacerých podmienených príkazov pomocou AND a OR.
- Môžeme zahrnúť viacero príkazov WHEN a príkaz ELSE, aby sme čelili neadresným podmienkam.