复制代码代码如下所示:
简单的功能
案例性
当'1'then '男性'
当'2'then '女'
其他的另一端
——案例搜索功能
当性别= '1'then '男性'
当性= '2'then '女'
其他的另一端

这两种方法可以实现相同的功能,简单的案例函数比较简单,但与案例搜索功能相比,在功能上有一定的局限性,如写判断。
另一个需要注意的问题是,案例函数只返回第一个条件值,其余的部分将被自动忽略。
复制代码代码如下所示:
例如,下面的SQL部分,您永远不会得到这个结果的第二种类型
当col_1在(A,B)然后第一类
当col_1在(a)然后第二类
else'other结束

让我们来看看如何使用案例功能。



首先,已知数据按另一种方式分组,并进行分析。

有以下数据:(为了更清楚地看到,我没有使用国家代码,而是使用国家名称作为主键)。



国家(国家)
人口(人口)

中国
六百

美国
一百

加拿大
一百

英国
二百

法国
三百

日本
二百五十

德国
二百

墨西哥
五十

印度
二百五十


根据该国的人口数据,计算了亚洲和北美洲的人口。



大陆
人口

亚洲
一千一百

北美国
二百五十

其他
七百


你将如何解决这个问题用大陆代码创建视图是一种解决方案,但是很难动态地改变统计方式。
如果使用案例功能,SQL代码如下所示:
复制代码代码如下所示:
选择和(人口),
病例的国家
当'中国'然后'亚洲'
当印度,然后是亚洲
日本然后是亚洲
当我们,然后北美国
然后是加拿大,然后是北美国
然后是墨西哥,然后是北美国
其他的另一端
从table_a
逐组国家
当'中国'然后'亚洲'
当印度,然后是亚洲
日本然后是亚洲
当我们,然后北美国
然后是加拿大,然后是北美国
然后是墨西哥,然后是北美国
其他的另一端;


同样,我们也可以用这种方法来确定工资水平,并计算每个级别的人数。
复制代码代码如下所示:
选择
然后'1'salary时500
当工资> 500工资<= 600然后2
当工资> 600工资<= 800那么远
当工资> 800工资<= 1000英尺4英寸
其他salary_class空端,
计数(*)
从table_a
组
然后'1'salary时500
当工资> 500工资<= 600然后2
当工资> 600工资<= 800那么远
当工资> 800工资<= 1000英尺4英寸
否则空结束;

二,SQL语句用于完成不同条件的组。



有以下数据





国家(国家)
性(性)
人口(人口)

中国
一
三百四十

中国
二
二百六十

美国
一
四十五

美国
二
五十五

加拿大
一
五十一

加拿大
二
四十九

英国
一
四十

英国
二
六十


根据国家和性别团体,结果如下





国
男性的
女性的

中国
三百四十
二百六十

美国
四十五
五十五

加拿大
五十一
四十九

英国
四十
六十


在普通情况下,联合也可以用于语句查询,但这增加了消费(两个选择部分),SQL语句将更长。
下面是一个用案例函数来做这个的例子
复制代码代码如下所示:
选择国家,
(情况和性别= '1'then)
其他人口0年底)-男性人口
(情况和性别= '2'then)
其他人口0年底)-女性人口
从table_a
按国家分组;

这样,我们利用选择完成了二维表的输出形式,显示了功能强大的功能。
三,检查用例函数。
在很多情况下,检查用例函数是一个很好的解决方案,可能有很多人根本不使用检查,所以我建议你在看下面的例子后尝试使用sql复选语句。
让我们举个例子。
A公司,公司有一项规定,女员工必须支付超过1000美元。
复制代码代码如下所示:
check_salary检查约束
(在性别= 2
然后工资为1000分。
然后1个其他0个结束
否则1结束= 1)

如果您使用简单的检查,如下所示
复制代码代码如下所示:
check_salary检查约束
(性别= '2'and工资> 1000)

女职工的条件与男职工一致。