mysql语句时对用例的说明
2023-12-07 08:09:35
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
相关内容