SQL CASE语句
在本文中,我们将了解SQL CASE语句如何工作。
什么是SQL CASE语句?
每种编程语言(例如Java,Python,C,C++等)都包含各种形式的条件语句,以根据提到的条件来验证和选择操作。
让我们通过一个例子来理解这一点。
在零售商店中,各种顾客来购买不同的必需食品和配件。
零售商决定他要一种可以在以下条件下以自动化方式运行的软件
"只要且仅当他们将要购买的商品的总成本超过20美元时,每个客户才能获得所购买商品的5%折扣。
"
因此,程序员或者开发人员将根据首选语言使用Case语句,并设置条件,如果总价超过20美元,则对所购买的物品应用5%的折扣。
因此,从上面的示例中,您必须都对Case语句有所了解。
是的,您猜对了!
SQL CASE语句帮助我们在数据上应用并设置一些条件,然后根据条件的满足提供结果/操作。
CASE语句返回该值或者针对特定条件的满足执行所提及的操作。
现在,让我们在下面的部分中了解SQL CASE语句的工作方式。
CASE语句的语法
如果满足第一个条件,则" SQL CASE语句"将返回特定值,否则将检查下一个条件,然后过程继续。
语法:
CASE WHEN condition-1 THEN result-1 WHEN condition-2 THEN result-2 . . . WHEN condition-N THEN result-N ELSE default-result END;
如果没有条件为真,则CASE语句返回ELSE部分中指定的值。
此外,如果我们不提供任何ELSE条件,并且如果所有条件都不为TRUE,则CASE语句将返回NULL值。
通过示例实现SQL Case语句
其中我们将使用各种SQL查询和子句来实现SQL Case语句。
让我们首先使用SQL Create查询创建一个表,然后通过SQL Insert查询将值插入该表中。
create table Info(id integer, Cost integer, city varchar(200)); insert into Info(id, Cost,city) values(1, 100,"Pune"); insert into Info(id, Cost,city) values(2, 50, "Satara"); insert into Info(id, Cost,city) values(3, 65,"Pune"); insert into Info(id, Cost,city) values(4, 97,"Mumbai"); insert into Info(id, Cost,city) values(5, 12,"USA");
因此,我们创建了一个表格-"信息",并将值添加到了如上所述创建的列中。
带CASE语句的SQL SELECT查询
我们执行SQL SELECT查询,以根据CASE语句中所述的某些条件显示数据值,如下面的代码所述。
例:
SELECT city, Cost, CASE WHEN Cost < 20 THEN 'Displaying price less than 20.' ELSE 'Price rates above 20' END AS Price_Rate FROM Info;
如上所示,当我们执行查询时,它将显示"城市"和"成本"的列值。
它将创建一个新列" Price_Rate"以显示满足条件的结果。
使用CASE语句的SQL Update查询
现在,让我们尝试使用CASE语句执行SQL Update查询。
例:
在下面的示例中,我们传递了UPDATE查询,以将在CASE条件下传递的城市的名称更改为指定的值。
UPDATE Info SET city = CASE city WHEN 'Pune' THEN 'POONA' WHEN 'USA' THEN 'UNITED NAIONS' ELSE 'San Franceco' END;
在将CASE语句与SQL查询结合在一起之后,现在让我们尝试使用一些SQL子句执行它。
带有CASE语句的SQL ORDER BY子句
其中我们使用CASE语句执行了ORDER BY子句。
我们使用SELECT查询从表格中选择所有数据值-"信息"。
此外,我们添加了带有CASE语句的ORDER BY子句,该子句声明了以下条件。
- 仅当城市值为"浦那"时,才以"成本"的升序显示数据值。
例:
Select * from Info ORDER BY CASE city WHEN 'Pune' THEN Cost End;