条件:给定一张表 user,有字段 id,name,vip, 要求使用一条SQL把 vip=y 的用户改为 vip=n,反之亦然。
update user set user = if(vip='y','n','y')
SQL的逻辑说明: 设定user 等于 if返回的结果 ,if函数内第一个字段是条件,第二个字段是满足条件返回的值,第三个字段是不满足条件返回的值。
原SQL
id name vip
1 A y
2 B n
3 C n
4 D y
运行之后
id name vip
1 A n
2 B y
3 C y
4 D n
if() 函数强大的功能同样适用于查询,如:
select id,name,if(vip='y','会员','不是会员') as vips from user where vip='y' or sex='n';
id name vips
1 A 不是会员
2 B 会员
3 C 不是会员
4 D 会员