SQL CASE utasítás

A CASE nyilatkozat be SQL egy sokoldalú feltételes kifejezés, amely lehetővé teszi számunkra, hogy beépítsük feltételes logika közvetlenül a kérdéseinken belül. Lehetővé teszi bizonyos eredmények visszaadását bizonyos feltételek alapján, lehetővé téve a dinamikus lekérdezési kimeneteket. Akár kell hozzon létre új oszlopokat módosíthatja a meglévőket vagy testreszabhatja a lekérdezések kimenetét CASE nyilatkozat bírja az egészet.

Ebben a cikkben megtudjuk a SQL CASE utasítás részletesen világos példákkal és használati esetekkel, amelyek bemutatják, hogyan lehet kihasználni ezt a funkciót az SQL-lekérdezések javítására.

CASE utasítás SQL-ben

  • A CASE nyilatkozat be SQL egy feltételes kifejezés, amely lehetővé teszi feltételes logika végrehajtását egy lekérdezésben.
  • Általában új oszlopok létrehozására használják feltételes logika alapján, amelyek egyéni értékeket biztosítanak, vagy bizonyos feltételek alapján vezérelnek lekérdezési kimeneteket.
  • Ha egyetlen feltétel sem teljesül, akkor a MÁS rész végrehajtásra kerül. Ha nincs ELSE rész, akkor visszatér NULL.

Szintaxis:

A CASE utasítás használatához SQL-ben használja a következő szintaxist:

CASE eset_érték
MIKOR feltétel THEN eredmény1
MIKOR feltétel THEN eredmény2
...
Más eredmény
VÉGÜZ;

Példa SQL CASE utasításra

Nézzünk meg néhány példát a CASE utasításra az SQL-ben, hogy jobban megértsük.

Hozzon létre egy demó SQL-táblát, amelyet a példákban fogunk használni.

Demo SQL adatbázis

Ezt a minta SQL-táblázatot fogjuk használni az SQL CASE utasításra vonatkozó példáinkhoz:

Ügyfélazonosító Ügyfélnév Vezetéknév Ország Kor Telefon
1 Kétség Thakur India 23 xxxxxxxxxx
2 Biztonságos Chopra Ausztrália 21 xxxxxxxxxx
3 Naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Ausztria 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Spanyolország 22 xxxxxxxxxx

Ugyanazt az adatbázist létrehozhatja a rendszerében a következő MySQL lekérdezés megírásával:

 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');   

1. példa: Egyszerű CASE kifejezés

Ebben a példában a CASE utasítást használjuk

Lekérdezés:

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

Kimenet:

Ügyfélnév Kor Állampolgárság
Kétség 23 indián
Biztonságos 21 Külföldi
Naveen 24 Külföldi
Aditya 21 Külföldi
Nishant. Salchichas S.A. 22 Külföldi

2. példa: SQL CASE, ha több feltétel

Több feltételt is hozzáadhatunk a CASE utasításhoz, ha többszöröst használunk AMIKOR záradékok.

Lekérdezés:

 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;  

Kimenet:

Ügyfélnév Kor QuantityText
Kétség 23 Az életkor több, mint 22 év
Biztonságos 21 Az életkor 21
Naveen 24 Az életkor több, mint 22 év
Aditya 21 Az életkor 21
Nishant. Salchichas S.A. 22 Az életkor 30 év felett van

3. példa: CASE nyilatkozat ORDER BY záradékkal

Vegyük az Ügyféltáblát, amely tartalmazza az Ügyfélazonosítót Ügyfélnév Vezetéknév Ország Életkor és Telefonszám. Az Ügyfél tábla adatait a segítségével tudjuk ellenőrizni MEGRENDELÉS záradék a CASE utasítással.

Lekérdezés:

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

Kimenet:

Ügyfélnév Ország
Biztonságos Ausztrália
Aditya Ausztria
Nishant. Salchichas S.A. Spanyolország
Naveen Sri Lanka
Kétség India

Fontos tudnivalók a CASE nyilatkozattal kapcsolatban

  • Az SQL CASE utasítás egy feltételes kifejezés, amely lehetővé teszi különböző lekérdezések végrehajtását meghatározott feltételek alapján.
  • Mindig legyen a KIVÁLASZTÁS a CASE nyilatkozatban.
  • END MÁS az opcionális komponens, de MIKOR AKKOR ezeket az eseteket szerepeltetni kell a CASE utasításban.
  • Bármilyen feltételes állítást készíthetünk bármilyen feltételes operátor használatával (pl AHOL ) MIKOR és AKKOR között. Ez magában foglalja több feltételes utasítás összefűzését a használatával ÉS és VAGY.
  • Több WHEN utasítást és egy ELSE utasítást is beilleszthetünk a címzetlen feltételek ellen.

Következtetés

A CASE utasítás robusztus mechanizmust biztosít a feltételes logika SQL-lekérdezésekbe való beépítéséhez. Az utasítás használatával különféle feltételeket kezelhet, és hatékonyan testreszabhatja a lekérdezések kimenetét. A végrehajtás módjának megértése CASE kifejezések lehetővé teszik kifinomultabb adatkezelést és jelentéskészítést, így az SQL-lekérdezések dinamikusabbak és reagálóbbak a különböző forgatókönyvekre.

Kvíz létrehozása

Lehet, Hogy Tetszeni Fog