SQL CASE vyhlásenie

The CASE vyhlásenie v SQL je všestranný podmienený výraz, ktorý nám umožňuje začleniť podmienená logika priamo v rámci našich dopytov. Umožňuje vám vrátiť konkrétne výsledky na základe určitých podmienok umožňujúcich dynamické výstupy dotazov. Či už potrebujete vytvoriť nové stĺpce upravte existujúce alebo prispôsobte výstup vašich dopytov vyhlásenie CASE zvládne to všetko.

V tomto článku sa naučíme SQL príkaz CASE podrobne s jasnými príkladmi a prípadmi použitia, ktoré ukazujú, ako využiť túto funkciu na zlepšenie vašich SQL dotazov.

Príkaz CASE v SQL

  • The CASE vyhlásenie v SQL je podmienený výraz, ktorý vám umožňuje vykonávať podmienenú logiku v rámci dotazu.
  • Bežne sa používa na vytváranie nových stĺpcov na základe podmienenej logiky, poskytuje vlastné hodnoty alebo výstupy riadiaceho dotazu na základe určitých podmienok.
  • Ak nie je splnená žiadna podmienka, potom ELSE časť bude vykonaná. Ak tam nie je iná časť, vráti sa NULL.

Syntax:

Ak chcete použiť príkaz CASE v SQL, použite nasledujúcu syntax:

CASE case_value
KEĎ podmienka POTOM výsledok1
KEDY podmienka POTOM výsledok2
...
Iný výsledok
KONCOVÝ PRÍPAD;

Príklad príkazu SQL CASE

Pozrime sa na niekoľko príkladov príkazu CASE v SQL, aby sme mu lepšie porozumeli.

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 21 xxxxxxxxxx
3 Naveen Tulasi Srí Lanka 24 xxxxxxxxxx
4 Aditya Arpan Rakúsko 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Španielsko 22 xxxxxxxxxx

Rovnakú databázu môžete vytvoriť vo svojom systéme napísaním nasledujúceho dotazu 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 1: Jednoduchý CASE výraz

V tomto príklade použijeme príkaz CASE

dotaz:

 SELECT CustomerName Age CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;  

výstup:

Meno zákazníka Vek národnosť
Pochybnosť 23 indický
Bezpečný 21 Zahraničné
Naveen 24 Zahraničné
Aditya 21 Zahraničné
Nishant. Salchichas S.A. 22 Zahraničné

Príklad 2: PRÍPAD SQL pri viacerých podmienkach

Do príkazu CASE môžeme pridať viacero podmienok pomocou viacerých KEDY klauzuly.

dotaz:

 SELECT CustomerName Age CASE WHEN Age> 22 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

výstup:

Meno zákazníka Vek QuantityText
Pochybnosť 23 Vek je vyšší ako 22
Bezpečný 21 Vek je 21
Naveen 24 Vek je vyšší ako 22
Aditya 21 Vek je 21
Nishant. Salchichas S.A. 22 Vek je nad 30 rokov

Príklad 3: Vyhlásenie CASE s doložkou ORDER BY

Vezmime si tabuľku zákazníkov, ktorá obsahuje CustomerID Meno zákazníka Priezvisko Krajina Vek a Telefón. Údaje v tabuľke Zákazník môžeme skontrolovať pomocou OBJEDNAŤ PODĽA doložka s výrokom CASE.

dotaz:

 SELECT CustomerName Country FROM Customer ORDER BY (CASE WHEN Country IS 'India' THEN Country ELSE Age END);  

výstup:

Meno zákazníka Krajina
Bezpečný Austrália
Aditya Rakúsko
Nishant. Salchichas S.A. Španielsko
Naveen Srí Lanka
Pochybnosť India

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 VYBRAŤ vo vyhlásení CASE.
  • END ELSE je voliteľný komponent, ale KEDY 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 spájanie viacerých podmienených príkazov pomocou A a OR.
  • Môžeme zahrnúť viacero príkazov WHEN a príkaz ELSE, aby sme čelili neadresným podmienkam.

Záver

The CASE poskytuje robustný mechanizmus na začlenenie podmienenej logiky do SQL dotazov. Pomocou tohto vyhlásenia môžete zvládnuť rôzne podmienky a efektívne prispôsobiť výstup vašich dopytov. Pochopenie spôsobu implementácie CASE Výrazy vám umožňujú vykonávať sofistikovanejšiu manipuláciu s údajmi a vytváranie správ, vďaka čomu sú vaše dotazy SQL dynamickejšie a reagujú na rôzne scenáre.

Vytvoriť kvíz