对SQLServer案例功能应用介绍

对SQLServer案例功能应用介绍
简单的功能
案例性
当'1'then '男性'
当'2'then '女'
其他的另一端
——案例搜索功能
当性别= '1'then '男性'
当性= '2'then '女'
其他的另一端

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

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

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

有以下数据:(为了更清楚地看到,我没有使用国家代码,而是使用国家名称作为主键)。
国家(国家)人口(人口)
中国600
美国100
加拿大100
英国200
法国300
日本250
德国200
墨西哥50
印度250

根据该国的人口数据,计算了亚洲和北美洲的人口。
大陆人口
亚洲1100
北美洲250
其他700

你将如何解决这个问题用大陆代码创建视图是一种解决方案,但是很难动态地改变统计方式。
如果使用案例功能,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语句用于完成不同条件的组。

有以下数据
国家(国家)性别(性别)人口(人口)
中国1340
中国2260
美国145
美国255
加拿大151
加拿大249
英国140
英国260

根据国家和性别团体,结果如下
全国男女
中国340260
美国4555
加拿大5149
英国4060

在普通情况下,联合也可以用于语句查询,但这增加了消费(两个选择部分),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)

女职工的条件与男职工一致。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部