数据库sql语句在where中同样可以使用条件判断

[color=green]★★★ 本篇为原创,需要引用转载的朋友请注明:《 http://stephen830.iteye.com/blog/280573 》 谢谢支持! ★★★[/color]

在一般情况下,SQL的条件判断语句都是用在select后面,例如mysql的if条件判断,或者oracle的decode条件判断,当然其他的数据库大家可以自己测试下,几乎很少会把条件判断用在where后面。

相信很多朋友都没有试过,其实至少mysql,oracle是完全支持的,你完全可以在SQL语句的where后面用条件判断语句。

下面有个具体的例子:


测试的数据表为 user_info ,数据表的数据如下图(图1)
[img]http://stephen830.iteye.com/upload/attachment/53505/15683c49-7b24-3e67-baa0-298979375f11.png[/img]

(图1)

假如我们在这个表中查出 name为 mike或者Jerry的数据记录,一般都会写成:

SELECT * FROM user_info where name='mike' or name='Jerry'
或者

SELECT * FROM user_info where name in('mike','Jerry')


其实也可以利用在where后面加上条件判断语句来写,如:

mysql写法:

SELECT * FROM user_info where if(name='mike',name='mike',name='Jerry')


oracle写法:

SELECT * FROM user_info where name=decode(name,'mike','mike','Jerry')


查询的结果都是一样的,如下图(图2)
[img]http://stephen830.iteye.com/upload/attachment/53507/31368ada-4ec3-35b8-b378-06d84aee6a75.png[/img]
(图2)


当然,具体的使用还是要根据实际情况来决定,本文只是说明下,SQL中的条件判断不仅在select后面适用,同样也可以用在where后面。

------------------------------------------
分享知识,分享快乐,希望文章能给需要的朋友带来小小的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值