MySql数据库的的if,if else,case when then,Exists 的使用以及区别
if的用法
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:
语法:
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
代码如下:
select *,if(userName="张三","zhangsan","lisi") as userName from user
if else的用法
if实现条件判断,满足不同条件执行不同的操作,做为流程控制语句使用。
语法:
IF search_condition THEN
statement_list
ELSE
statement_list
END IF;
case when then的用法
Exists的用法
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:
select DISTINCT if (EXISTS( select user_name FROM user WHERE user_name='12344123'),1,0) a from user