SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

分享一道今天的面试题:SQL语句实现:数据库中有A B C三列,当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

第一种:使用case when...then...else end实现

select (case when a>b then a else b end ),(case when b>c then b esle c end) from 表

具体的实现如下:

 1 SELECT Linux,
 2
 3 MySQL,
 4
 5 JAVA,
 6
 7 (case when Linux>MySQL then Linux else MySQL END)as ‘linux和Mysql比较‘ ,
 8
 9 (CASE when MySQL>Java THEN MySQL ELSE Java END)AS ‘mysql和JAVA比较‘
10
11 FROM tb_grade_score

第二种:使用IF

select if(a>b,a,b),if(b>c,b,c) from 表名

SELECT Linux,
MySQL,
Java,
IF(Linux>MySQL,Linux,MySQL) as  ‘linux和Mysql比较‘ ,IF(MySQL>Java,MySQL,Java) AS ‘mysql和JAVA比较‘
FROM tb_grade_score

原文地址:https://www.cnblogs.com/cuitang/p/11809058.html

时间: 2024-11-25 23:02:11

SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列的相关文章

数据库之sql语句汇总20180616

/*******************************************************************************************/ 一.SQL简介 SQL:结构化查询语言 SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统. SQL 语句用于取回和更新数据库中的数据.SQL 可与数据库程序协同工作,比如 MS Access.DB2.Informix.MS SQL Server.Oracle.Sybase 以及其他数据库系统

MyBatis动态Sql语句

林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka   MyBatis中对数据库的操作.有时要带一些条件.因此动态SQL语句很有必要.以下就主要来讲讲几个经常使用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(when.otherwise) trim where set foreach 1.if 对属性进行推断.假设不为空则运行推断条件 <select id="selectByCriter

Oracle学习笔记之第八节sql语句(开发课学生指南051)

开发课 做练习 学生指南051 les01 ppt oracle经常两表连接,叫第三范式,如带有ID性质的东西 以下是sql语句的命令 select * from departments; 部门表 select * from employees; 员工表 select employee_id,rowid,rownum from employees where employee_id>=200;  64进制内部运算 rownum本质查询第几行 select employee_id,rowid,ro

mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句

mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:1. if 语句 (简单的条件判断)2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似.3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀)4. where (主要是用来简化sql语句中where条件判断的,能智能的处理 a

mybatis 动态sql语句

mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. 3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) 4. where (主要是用来简化sql语句中where条件判断的,能智能的

数据库资源消耗高时两条简单管用、快速找出可能问题原因的SQL语句

1.  查看正在执行的SQL语句 (1)SQL语句: selectdistinct s.sid,s.sql_id,s.event,s.program,s.MACHINE,q.sql_textfrom v$session s,v$sql q where s.sql_id=q.sql_idand s.status='ACTIVE'order by sql_text: (2)用途说明: 当数据库服务器负载高时,资源绝大部分的可能是被正在运行的SQL所消耗,查询到正在执行的SQL语句,是打开高消耗原因盒

【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句

转自:除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! 转载地址:http://blog.csdn.net/kutejava/article/details/9164353#t5 1. if 语句 (简单的条件判断) 2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. 3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) 4. where (主要是用来简化sql语句中

Mybatis学习之动态sql语句(7)

Mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. 3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) 4. where (主要是用来简化sql语句中where条件判断的,能智能的

mybatis--MyBatis动态SQL语句

mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似. 3. trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀) 4. where (主要是用来简化sql语句中where条件判断的,能智能的

SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name [sql] view plain copy drop table