SQL从入门到放弃系列——数据过滤[六]

2019年6月26日00:36:42 发表评论 25
摘要

采用比较运算符、逻辑运算符、通配符进行过滤。

比较运算符

比较数值大小。数值类型可以是整数,浮点数,字符串,布尔类型等。

等于=

小于<

大于>

不等于<>或!=

大于等于(不小于)>=或!<

小于等于(不大于)<=或!>

指定两个数之间BETWEEN

为空IS NULL

 

逻辑运算符

定义where子句中多个条件间的关系。

并且AND

或者OR

非NOT

在指定范围内IN

优先级

()优先级最高,其次and,然后or。

 

通配符

就是对文本类型字段进行模糊查询。通配符就是%。

说明:

不同DBMS对通配符的定义不同。

Access通配符采用星号*,而不是百分号%。

另外,还有下划线_通配符。和%的区别在于,%代表一个或多个字符,_只代表单个字符。

比如,查找英雄名字除了第一个字以外,包含“太”字的英雄:

SQL:SELECT name FROM heros WHERE name LIKE '_% 太 %'

此外,在Access中使用问号?代替下划线_。在DB2中不支持下划线通配符,因此需要针对不同的DBMS查阅相对应的DBMS文档。

注意:

即使对like检索的字段进行了索引,索引的价值也可能失效。

比如like '%太%'或like'%太'的时候会进行全表扫描;

但是使用like '太%',同时检索的字段进行了索引,则不会进行全表扫描。

 

补充

对where子句建立索引

SQL从入门到放弃系列——数据过滤[六]

提高效率就是要避免全表扫描,考虑在WHERE级OEDER BY涉及到的列上添加索引

SQL从入门到放弃系列——数据过滤[六]

 

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
  • A+
所属分类:SQL

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: