SQL 入门容易忽略的地方——where

where 看似比较简单 也有需要注意的地方

如where中的操作符<>和!=作用是一样的,但是有的DBMS不支持<>,或者!=.

在判断属性是否为空的时候 需要 使用IS NULL 而不是=null。不为空同理为 NOT NULL 而不是 !=NULL

 

where AND 和OR操作符,AND的操作符的优先级会高于OR。OR判断的时候如果前一个条件为真的时候后一个条件无需判断

一个简单例子:select a,b,c from A where a>10 or b>10 and c<10.

这个语句相当于 :select a,b,c from A where a>10 or (b>10 and c<10).如果a>10成立后面都不需要计算。

比较和:select a,b,c  from A where (a>10 or b>10) and c<10的区别。


IN操作相当于多个OR操作。IN比多个OR操作更加简洁,同时IN最大优点可以包含其他SELECT语句,使得能够动态地建立WHERE子句。

 

LIKE 可以对文本进行匹配,想应的通配符有%  _   []

一个简单的例子:select a from A where a LIKE '%[abc]_%'

%代表0个1个或者多个字符,_代表一个字符,[]代码一个在[]中存在的字符。

上面的语句的意思是选出 首字符为任意字符,也可以为空,后一个字符为abc三个字符中的一个,其后至少有一个或者多个字符。

也可以使用^,表示不使用[]中的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值