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為第二個字符的所有字符串
%200[789]% 代表含有2007,2008,2009三個字符串
 
轉義字符:
如果模糊查詢中包含了通配符,則必須使用轉義字符來代替這個字符。
SQL server:escape
Like ‘%1#%%’ escape ‘#’  表示#后的第一個字符為普通字符
ACCESS:[]
Like ‘*C[#]*’ #本來在ACCESS中代表一個數字,但是用[#]則可以表示為#這個普通字符
ORACLE:\
Like ‘%1\%%’ 包含5%的所有字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM