使用like 时 and 和or表示多条件查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用like 时 and 和or表示多条件查询相关的知识,希望对你有一定的参考价值。
sql plus where 语句中like 和and 同时使用时的用法是什么?
我的意思是我的查询结果需要同时匹配2个条件,而且是两个不同的列,其中一个需要使用like进行模糊匹配.
查询条件
1.使用>,<,>=,<=,!=,<>,=
2.使用AND,OR关键字
3.使用LIKE条件(模糊查询)
LIKE需要借助两个通配符:
%:表示0到多个字符
_:标识单个字符
4.使用IN和NOT IN
5.BETWEEN...AND...
BETWEEN...AND...操作符用来查询符合某个值域范围条件的数据
最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用
6.使用IS NULL 和 IS NOT NULL
空值NULL是一个特殊的值,比较的时候不能使用"="号,必须使用IS NULL,否则不能得到正确的结果。
7.使用ANY和ALL条件
ALL和ANY不能单独使用,需要配合单行比较操作符>、>=、<、<=一起使用
>ANY:大于最小
<ANY:小于最大
>ALL:大于最大
<ALL:小于最小
8.查询条件中使用表达式和函数
当查询需要对选出的字段进一步计算,可以在数字列上使用算术表达式(+、-、*、/)
表达式符合四则运算的默认优先级,如果要改变优先级可以使用括号
算术运算主要是针对数字类型的数据,对日期类型的数据可以做加减操作,表示在一个日期值上加或减一个天数
9.使用DISTINCT过滤重复
10.使用ORDER BY 子句
必须出现在SELECT中的最后一个子句
11.ASC和DESC
ASC用来指定升序排序(默认选项),DESC用来指定降序排序
NULL值视作最大,则升序排列时,排在最后,降序排列时,排在最前
12.多个列排序
当以多列作为排序标准时,首先按照第一列进行排序,如果第一列数据相同,再以第二列排序,以此类推
多列排序时,不管正序还是倒序,每个列需要单独设置排序方式
ORDER BY deptno ASC,sal DESC;
13.MAX和MIN
用来取得列或表达式的最大、最小值
可以用来统计任何数据类型,包括数字、字符和日期
14.AVG和SUM
用来统计列或表达式的平均值和和值
只能操作数字类型
忽略NULL
15.COUNT
用来计算表中的记录数
忽略NULL值
16.聚合函数对空值的处理
聚合函数忽略NULL值
AVG(NVL(comm,0))
17.GROUP BY子句
18.HAVING子句
HAVING子句用来对分组后的结果进一步限制。
必须跟在GROUP BY 后面,不能单独存在
19.查询语句执行顺序
查询语句的执行顺序依下列子句次序:
1.from 子句:执行顺序为从后往前、从右到左
数据量较少的表尽量放在后面
2.where子句:执行顺序为自下而上、从右到左
将能过滤掉最大数量记录的条件写在WHERE子句的最右
3.group by--执行顺序从左往右分组
最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉
4.having子句:消耗资源
尽量避免使用,HAVING会在检索出所有记录之后才对结果集进行过滤,需要排序等操作
5.select子句:少用*号,尽量取字段名称。
ORACLE在解析过程中,通过查询数据字典将*号依次转换成所有的列名,消耗时间。
6.order by子句:执行顺序为从左到右排序,消耗资源
以上是关于使用like 时 and 和or表示多条件查询的主要内容,如果未能解决你的问题,请参考以下文章
Thinkphp 查询条件 and 和 or同时使用即复合查询