关键词:组合WHERE子句,使用IN运算符,NOT运算符,实现模糊查询

AND、OR运算符以及优先级:在WHERE子句中使用AND和OR可以进行逻辑运算,并且AND的优先级高于OR。

 

IN运算符:可以在判断一个变量或者常量是否在某个范围内,例如:X IN (VALUE1,VALUE2,VALUE3),IN运算符还可以将范围制定到一个SELECT语句的结果中例如:select….where in (select …) order by …

In运算符和OR运算符实现的结果是一样的,但是可以简化OR运算符的编写。

 

NOT运算符:用于对一个条件逻辑表达式求反,例如:NOT(来源地=’湖北’ OR 来源地=’湖南’)

 

模糊查询:LIKE运算符实现数据库模糊查询,LIKE运算符只支持字符型数据的查询。

模糊查询所使用的通配符:

ACCESS 说明

? 一个任意字符

* 0个或多个任意字符

# 1个数字字符

[] 代表指定范围

[!] 代表指定范围之外

举例:

姓名 like ‘张-’精确的指定模糊值为一个字符并且只有两个字的姓张的姓名

姓名 like ‘张%’姓张的所有姓名

出生日期 like ‘%2009%09%’ 

[ab]% 以a或者b开头的字符串

[a-d]% 以a,b,c,d开头的所有字符串

[a-bcd]% 以a,b,c,d开头的所有字符串

a[^b]% 以a开头非b为第二个字符的所有字符串

%200[789]% 代表含有2007,2008,2009三个字符串

 

转义字符:

如果模糊查询中包含了通配符,则必须使用转义字符来代替这个字符。

SQL server:escape

Like ‘%1#%%’ escape ‘#’  表示#后的第一个字符为普通字符

ACCESS:[]

Like ‘*C[#]*’ #本来在ACCESS中代表一个数字,但是用[#]则可以表示为#这个普通字符

ORACLE:\

Like ‘%1\%%’ 包含5%的所有字符串