需要准备的材料分别是:电脑、sql查询器。
1、首先,打开sql查询器,连接上相应的数据库表,以stu2表查询age>10的数据为例。
2、点击“查询”按钮,输入:select id, IF(sex=1, '男', '女') as sex from stu2 where age > 5;。
3、点击“运行”按钮,此时用where查询出了age>5的数据,并且之后用了if条件判断性别。
1、SQL 中 WHERE 用来加条件以限定一个字集范围,这个范围中不能再直接嵌入IF条件判断语句。
2、可以用IF条件判定后,再用WHERE,也就是说“反过来”,以实现你想要完成的任务。
相关知识点延伸:
在SQL中
1、IF用于条判断以决定程序执行流向。
2、WHERE用于数据集的过滤,以确定在一个大数据集中得到的小数据集的范围。
3、至少到当前为止,不能用IF来变更WHERE中的数据集的来源。
最好写在from 前面:
select
case when
a.col1 ='1' and a.col2='2' then 0 else 1 end
from table a
1、先看不加判断的sql语句怎么写。
2、我们看到where和and。也就是说,当username和sex都有值的时候 使用where和and在Mapper-User.xml文件中:
3、接下来讲解where、if标签含义:
4、where标签会自动判断前面是否有字段,如果有字段会使用and sex=${sex}这个语句。
如果没有字段,and会被忽略直接跟在where后面。
也就是说,如果username为空但是sex不为空的话。输入的sql又是什么?
5、username和sex都存在的测试类:
6、执行后控制台输入的sql语句为:
7、如果username为空只有sex有值,会报错吗?
请看测试类:
8、再看,执行后输出的sql语句:
9、总结如下:
使用case when