Příkaz SQL CASE

The CASE prohlášení v SQL je všestranný podmíněný výraz, který nám umožňuje začlenit podmíněná logika přímo v rámci našich dotazů. Umožňuje vám vrátit konkrétní výsledky na základě určitých podmínek umožňujících dynamické výstupy dotazů. Ať už potřebujete vytvořit nové sloupce upravit stávající nebo upravit výstup vašich dotazů prohlášení CASE to všechno zvládne.

V tomto článku se naučíme SQL příkaz CASE podrobně s jasnými příklady a případy použití, které ukazují, jak využít tuto funkci ke zlepšení vašich SQL dotazů.

Příkaz CASE v SQL

  • The CASE prohlášení v SQL je podmíněný výraz, který umožňuje provádět podmíněnou logiku v rámci dotazu.
  • Běžně se používá k vytváření nových sloupců na základě podmíněné logiky, poskytuje vlastní hodnoty nebo řídí výstupy dotazů na základě určitých podmínek.
  • Pokud žádná podmínka neplatí, pak JINÝ část bude provedena. Pokud neexistuje žádná ELSE část, vrátí se NULL.

Syntax:

Chcete-li použít příkaz CASE v SQL, použijte následující syntaxi:

CASE hodnota_případu
KDYŽ podmínka PAK výsledek1
KDYŽ podmínka PAK výsledek2
...
Jiný výsledek
KONCOVÝ PŘÍPAD;

Příklad příkazu SQL CASE

Podívejme se na některé příklady příkazu CASE v SQL, abychom mu lépe porozuměli.

Vytvořme ukázkovou SQL tabulku, která bude použita v příkladech.

Demo databáze SQL

Tuto ukázkovou tabulku SQL budeme používat pro naše příklady příkazu SQL CASE:

Číslo zákazníka Jméno zákazníka Příjmení Země Stáří Telefon
1 Pochybovat Thakur Indie 23 xxxxxxxxxx
2 Trezor Chopra Austrálie 21 xxxxxxxxxx
3 Naveen Tulasí Srí Lanka 24 xxxxxxxxxx
4 Aditya Arpan Rakousko 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Španělsko 22 xxxxxxxxxx

Stejnou databázi můžete vytvořit ve svém systému napsáním následujícího 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');   

Příklad 1: Jednoduchý výraz CASE

V tomto příkladu použijeme příkaz CASE

Dotaz:

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

výstup:

Jméno zákazníka Stáří Státní příslušnost
Pochybovat 23 indický
Trezor 21 Zahraniční
Naveen 24 Zahraniční
Aditya 21 Zahraniční
Nishant. Salchichas S.A. 22 Zahraniční

Příklad 2: PŘÍPAD SQL při více podmínkách

Do příkazu CASE můžeme přidat více podmínek pomocí multiple KDYŽ doložky.

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:

Jméno zákazníka Stáří QuantityText
Pochybovat 23 Věk je vyšší než 22
Trezor 21 Věk je 21
Naveen 24 Věk je vyšší než 22
Aditya 21 Věk je 21
Nishant. Salchichas S.A. 22 Věk je přes 30

Příklad 3: Příkaz CASE s doložkou ORDER BY

Vezměme si tabulku zákazníků, která obsahuje CustomerID CustomerName Příjmení Země Věk a Telefon. Údaje tabulky Zákazník můžeme zkontrolovat pomocí OBJEDNAT PODLE klauzule s příkazem CASE.

Dotaz:

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

výstup:

Jméno zákazníka Země
Trezor Austrálie
Aditya Rakousko
Nishant. Salchichas S.A. Španělsko
Naveen Srí Lanka
Pochybovat Indie

Důležité body k prohlášení CASE

  • Příkaz SQL CASE je podmíněný výraz, který umožňuje provádění různých dotazů na základě zadaných podmínek.
  • Vždy by mělo být a VYBRAT v prohlášení CASE.
  • END ELSE je volitelná součást, ale KDY PAK tyto případy musí být zahrnuty do příkazu CASE.
  • Můžeme provést jakýkoli podmíněný příkaz pomocí libovolného podmíněného operátoru (např KDE ) mezi WHEN a THEN. To zahrnuje řetězení více podmíněných příkazů pomocí A a OR.
  • Můžeme zahrnout více příkazů WHEN a příkaz ELSE, abychom čelili neadresným podmínkám.

Závěr

The CASE poskytuje robustní mechanismus pro začlenění podmíněné logiky do dotazů SQL. Pomocí tohoto příkazu můžete zvládnout různé podmínky a efektivně přizpůsobit výstup vašich dotazů. Pochopení, jak implementovat CASE Výrazy vám umožňují provádět sofistikovanější manipulaci s daty a vytváření sestav, díky čemuž jsou vaše dotazy SQL dynamičtější a reagují na různé scénáře.

Vytvořit kvíz