关键词:组合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%的所有字符串