SQL中的⾼级条件查询WHERE、IN、NOT模糊查询
关键词:组合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 SQL SERVER ORACLE 说明
_ _ ⼀个任意字符
* % % 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为第⼆个字符的所有字符串
in运算符的含义%200[789]% 代表含有2007,2008,2009三个字符串
转义字符:
如果模糊查询中包含了通配符,则必须使⽤转义字符来代替这个字符。
SQL server:escape
Like ‘%1#%%’ escape ‘#’  表⽰#后的第⼀个字符为普通字符
ACCESS:[]
Like ‘*C[#]*’ #本来在ACCESS中代表⼀个数字,但是⽤[#]则可以表⽰为#这个普通字符
ORACLE:\
Like ‘%1\%%’ 包含5%的所有字符串

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。