分享一道今天的面試題: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