mysql语句时对用例的说明

mysql语句时对用例的说明
MySQL数据库中语句的情况。

语句用于计算条件列表并返回多个可能结果表达式中的一个的情况。

案例有两种格式:

一个简单的案例函数将表达式与一组简单表达式进行比较,以确定结果。

案例搜索函数计算一组布尔表达式以确定结果。
这两种格式支持可选的其他参数。

语法
简单案例功能:

复制代码代码如下所示:
案例input_expression
当when_expression然后result_expression
{…n }
{
其他else_result_expression
结束
案例搜索功能:

复制代码代码如下所示:
案例
当boolean_expression然后result_expression
{…n }
{
其他else_result_expression
结束
参数
input_expression

它是一个表达式,计算使用一个简单的案例format.input_expression当是任何有效的微软SQL Server的表达。

当when_expression

一个简单的表达式相比,input_expression使用一个简单的案例format.when_expression当是任意有效的SQL Server的表达,input_expression数据类型和每个when_expression必须相同或隐性。

占位符表示多个当when_expression然后result_expression条款或当boolean_expression然后result_expression从句可以用。

然后result_expression

一个表达式,返回时input_expression = when_expression价值是真实的,或当boolean_expression价值是真的。
结果表达式是任意且有效的SQL Server表达式。

其他else_result_expression

一个表达式返回时价值的比较是不正确的。如果省略该参数,比较操作值是不正确的,这个案件将返回null value.else_result_expression是任意有效的SQL Server expression.else_result_expression和所有result_expression数据类型必须相同,或必须隐性转换。

当boolean_expression

布尔表达式,计算时采用案例搜索format.boolean_expression是任意有效的布尔表达式。

结果类型

最高优先级的规则类型是从result_expressions和可选的else_result_expression.for更多信息类型集合,看到该数据类型的优先级。

结果值

简单案例功能:
input_expression计算,然后计算每一项的input_expression = when_expression当子句中指定的顺序。

返回TRUE值第一result_expression(input_expression = when_expression)。

如果有一个真正的价值不input_expression = when_expression,当SQL子句指定,SQL Server将返回else_result_expression;如果没有else子句指定,则返回空值。
案例搜索功能:
每个在子句中指定的顺序boolean_expression评价。

返回一个真值的boolean_expression第一result_expression。

如果有一个真正的价值不boolean_expression,当SQL子句指定,SQL Server将返回else_result_expression;如果没有else子句指定,则返回空值。

下面是一些mysql语句的例子。

A.使用SELECT语句和简单的案例函数
在SELECT语句中,只有当它是相等的且不进行任何其他比较时,简单的情况函式才会检查。

例如,使用案例功能改变图书分类显示。

复制代码代码如下所示:
使用酒吧

选择类别=
案件类型
when'popular_comp'then'popular计算
when'mod_cook'then'modern烹饪
when'business'then'business
when'psychology'then'psychology
when'trad_cook'then'traditional烹饪
else'not尚未归类的
结束,
铸造(标题为varchar(25))as'shortened标题,
价格价格
从标题
价格不为零
按类型、价格订购
按类型计算AVG(价格)

注释后,我尝试不使用类别=。

我使用的代码是:
复制代码代码如下所示:
选择
病例性别
当1 then'nan
当0 then'nv
结束性别

t_swidy_day_nutrient
结果集:
品类缩短的产权价格
----------------------------------------------------------------------
你可以打击计算机2.99
商业烹饪与电脑:S 11.95
繁忙的管理人员数据19.99
业务直谈计算机19.99

AVG
==========================
十三点七三

品类缩短的产权价格
----------------------------------------------------------------------
现代烹饪美食微波2.99
现代烹饪gastronomi 19.99硅谷

AVG
==========================
十一点四九

品类缩短的产权价格
----------------------------------------------------------------------
硅谷20的流行计算秘诀
流行的计算,但它是用户友好的22.95

AVG
==========================
二十一点48

品类缩短的产权价格
----------------------------------------------------------------------
没有恐惧的心理生活7
心理情感安全:一个新的7.99
心理是愤怒的敌人10.95
心理学长期数据的意义19.99
心理学的计算机恐惧症,磷21.59

AVG
==========================
十三点五零

品类缩短的产权价格
----------------------------------------------------------------------
传统的烹饪五十年白金11.95
传统烹饪寿司,14.99个人
传统烹饪洋葱,韭菜和大蒜20.95

AVG
==========================
十五点九六

(21行(s)受影响)

b.使用简单的案例功能和案例搜索功能。

SELECT语句
在SELECT语句中,案例搜索函数允许根据比较值替换结果集中的值。

示例:价格(货币列)显示为基于本书价格范围的文本注释。
复制代码代码如下所示:
使用酒吧

select'price类= =
案例
当价格为零then'not但价格'
当价格低于10 then'very合理的标题
当价格或10,价格20 then'coffee表标题
else'expensive书!
结束,
铸造(标题为varchar(20))as'shortened标题
从标题
ORDER BY price

结果集:
价格类别缩短标题
-----------------------------------------
尚未标价的网络礼仪
尚未对公司的心理定价
非常合理的标题美食微波
非常合理的标题你可以战斗的计算
很合理的头衔,生活没有恐惧。
非常合理的标题情感安全:
咖啡桌标题是愤怒的敌人
咖啡桌标题烹饪与计算
五十年bucki咖啡表标题
咖啡桌标题寿司,任何人
咖啡depri延长数据表标题
硅谷咖啡表标题的胃
咖啡桌标题直谈
咖啡桌标题忙碌的行政人员
昂贵的书!硅五的秘密
昂贵的书!洋葱,韭葱和g
昂贵的书!电脑恐惧症,
昂贵的书!但这是User Frien

(18行(s)受影响)

C.用一个实例和子功能选择

例如,案例和然后用于生成一个作者列表、图书标识号和每个作者的图书类型。
复制代码代码如下所示:
使用酒吧
选择子串((RTrim ++(a.au_fname)
RTrim(a.au_lname)+),1, 25)作为名称,a.au_id,ta.title_id,
=型
案例
当字符串(ta.title_id,1, 2)= 'bu'then'business
当字符串(ta.title_id,1, 2)= 'mc'then'modern烹饪
当字符串(ta.title_id,1, 2)= 'pc'then'popular计算
当字符串(ta.title_id,1, 2)= 'ps'then'psychology
当字符串(ta.title_id,1, 2)= 'tc'then'traditional烹饪
结束
从titleauthor TA加入对ta.au_id = a.au_id作者
结果集:
名称au_id title_id型
---------------------------------------------------------------
Johnson White 172-32-1176 ps3333心理学
Marjorie Green 213-46-8915 bu1032业务
Marjorie Green 213-46-8915 bu2075业务
Cheryl Carson 238-95-7766 pc1035流行的计算
米迦勒O'Leary 267-41-2394 bu1111业务
米迦勒O'Leary 267-41-2394 tc7777传统烹饪
院长直274-80-9391 bu7832业务
亚伯拉罕409-56-7008 bu1032业务
安无聊的427-17-2319 pc8888流行的计算
Burt Gringlesby 472-27-2349 tc7777传统烹饪
Charlene Locksley 486-29-1786 pc9999流行的计算
Charlene Locksley 486-29-1786 ps7777心理学
雷金纳德blotchet厅648-92-1872 tc4203传统烹饪
Akiko Yokomoto 672-71-3249 tc7777传统烹饪
Innes del Castillo 712-45-1867 mc2222现代烹饪
Michel DeFrance 722-51-5454 mc3021现代烹饪
贝尔斯登macfeather 724-80-9391 bu1111业务
贝尔斯登macfeather 724-80-9391 ps1372心理学
Livia Karsen 756-30-7391 ps1372心理学
Sylvia Panteley 807-91-6654 tc3218传统烹饪
Sheryl Hunter 846-92-7186 pc8888流行的计算
Anne Ringer 899-46-2035 mc3021现代烹饪
Anne Ringer 899-46-2035 ps2091心理学
Albert Ringer 998-72-3567 ps2091心理学
Albert Ringer 998-72-3567 ps2106心理学
(25行(s)受影响)

案例可能是SQL中最被误用的关键词之一。
虽然它以前可能被用来创建字段,但它也有更多的用法。

例如,可以在WHERE子句中使用用例。

首先,看看案例的语法。在一般选择中,语法如下:

复制代码代码如下所示:
选择=
案例


其他的
结束
上面的代码需要使用特定的参数来替换括号中的内容。

实例uff1a

复制代码代码如下所示:
使用酒吧

选择
标题,
价格范围=
案例
当价格为零then'unpriced
当价格低于10 then'bargain
在10和20之间的价格then'average
else'gift打动亲戚
结束
从标题
订单价格

这是一个典型的用例,但是用例的使用实际上可以做更多的事情。

例如,本案中的下列分组从句:

复制代码代码如下所示:
标题的select'number,计数(*)
从标题

案例
当价格为零then'unpriced
当价格低于10 then'bargain
在10和20之间的价格then'average
else'gift打动亲戚
结束


您甚至可以将这些选项组合为一个BY子句,例如:
复制代码代码如下所示:
使用酒吧

选择
案例
当价格为零then'unpriced
当价格低于10 then'bargain
在10和20之间的价格then'average
else'gift打动亲戚
结束范围,
标题
从标题

案例
当价格为零then'unpriced
当价格低于10 then'bargain
在10和20之间的价格then'average
else'gift打动亲戚
结束,
标题
顺序
案例
当价格为零then'unpriced
当价格低于10 then'bargain
在10和20之间的价格then'average
else'gift打动亲戚
结束,
标题

注意,为了在逐组中使用case,查询语句需要在组中按组逐块重复case块。

除了选择自定义字段外,案例在很多情况下也是非常有用的。

在深度上,您可以得到以前认为不可能的组排序结果集。
复制代码代码如下所示:
*
从销售中选择*;
+ + + + ----- ------------ -------- -------- + + + + -------- ------ ------------
Num名冬季| | | |春天夏天秋天的范畴| | | |
+ + + + ----- ------------ -------- -------- + + + + -------- ------ ------------
| 1 | java | 1067 | 200 | 150 | 267 |假日|
| 2 | C | 970 | 770 | 531 | 486 |职业|
| 3 | Javascript | 53 | 13 | 21 | 856 |文学|
| 4 | SQL | 782 | 357 | 168 | 250 |职业|
| 5 | Oracle | 589 | 795 | 367 | 284 |假日|
| 6 | MySQL | 953 | 582 | 336 | 489 |文学|
| 7 | C | 752 | 657 | 259 | 478 |文学|
| 8 | Python | 67 | 23 | 83 | 543 |假日|
| 9 | PHP | 673 | 48 | 625 | 52 |职业|
+ + + + ----- ------------ -------- -------- + + + + -------- ------ ------------
9行(0.01秒)
选择名称作为名称,
案例>类别
>假日,然后是季节性
->当职业然后bi_annual
>文学时,随机结尾为
从->销售;
------------ ----------- + + +
|名字|模式|
------------ ----------- + + +
| java |季节|
| C | bi_annual |
| Javascript |随机|
| SQL | bi_annual |
| Oracle |季节|
| MySQL |随机|
| C |随机|
| Python |季节|
| PHP | bi_annual |
------------ ----------- + + +
9行(0秒)
* /
下拉表销售;
创建表销售(
Num MEDIUMINT不空auto_increment,
名称char(20),
冬天的int,
春秋国际,
夏天的int,
掉到,
类别char(13),
主键(数字)
)型= MyISAM;
插入销售值(1,1067, 200, 150,267,'java,'holiday);
插入销售值(2,C,970770531486,'profession);
插入销售价值(3,'javascript ',53,1321856,'文学');
插入销售值(4,782357168250,'profession 'sql ',');
插入销售值(5,589795367284,'holiday 'oracle ',');
插入销售值(6,953582336489,'mysql ','文学');
插入销售值(7,752657259478,'cplus ','文学');
插入销售价值(8,'python ',67,2383543,'holiday);
插入销售价值(9,'php ',67348625,52,'profession);
从销售中选择*;
选择名称作为名称,
案例类别
当假日,然后季节性
当职业然后bi_annual
当文学时,随机结尾为
从销售;

简单的陈述
复制代码代码如下所示:
选择在10 * 2 = 30然后十正确
当10 * 2 = 40然后40正确
else'should是10 * 2 = 20
结束;

多个表达式
复制代码代码如下所示:
选择案例10 * 2
当20然后20正确
当30十正确
当40然后40正确
结束;

在选择查询时使用案例
复制代码代码如下所示:
*
MySQL >选择名字,ratingid评级,
案例- RatingID
r'then'under -> 17时需要一个成人。
x'then'no ->在17以下。
when'nr'then'use自由裁量权当->租赁。
可以租给未成年人。
结束为>策略
从- DVD
按名称排序;
+ + + + ----------- -------- ------------------------------
名称评级政策| | | |
+ + + + ----------- -------- ------------------------------
非洲PG可以| | |租给未成年人。|
Amadeus PG可以| | |租给未成年人。|
|圣诞NR使用自由裁量权在租赁。| | |
doc G可以| | |租给未成年人。|
|猎鹰NR使用自由裁量权在租赁。| | |
|醪| R |下17需要一个成人。|
|显示NR使用自由裁量权在租赁。| | |
|观NR使用自由裁量权在租赁。| | |
+ + + + ----------- -------- ------------------------------
8行(0.01秒)
* /
下拉表DVD;
创建表(DVD)
不空auto_increment主键ID smallint,
varchar(60)非空名,
numdisks字段不为空的默认1,
ratingid varchar(4)不为空,
statid char(3)不为空

InnoDB引擎=;
插入DVD(名称、numdisks,RatingID,statid)
值(圣诞节,1,'nr ','s1),
('doc ',1,'克','s2),
('africa ',1,'pg ','s1),
('falcon ',1,'nr ','s2),
('amadeus ',1,'pg ','s2),
('show ',2,'nr ','s2),
(',1,'nr ','s1),
('mash ',2,R,'s2);
选择的名字,ratingid评级,
案例ratingid
when'r'then'under 17需要一个成人。
when'x'then'no一17以下。
when'nr'then'use租房时的自由裁量权。
else'ok租给未成年人。
最后是政策
从DVD
按名称排序;

tag:用例语句电脑软件mysql

相关内容