Oracle條件查詢 參考網址:http://www.oraclejsq.com/article/010100259.html Oracle條件查詢時經常使用=、IN、LIKE、BETWEEN...AND來作為條件查詢的操作符。在Oracle select 查詢中where條件經常使用到這幾個操作符 ...
參考網址:http://www.oraclejsq.com/article/010100259.html
Oracle條件查詢時經常使用=、IN、LIKE、BETWEEN...AND來作為條件查詢的操作符。在Oracle select 查詢中where條件經常使用到這幾個操作符。下列案例所需表結構參考:學生系統表結構。
=操作符
在條件查詢語句中“=”表示列值等於一個固定值所查詢出的結果。
案例1、查詢學生成績表“score”中課程id為“R20180101”,成績為“85”分的同學信息。
select t.stuid, t.courseid, t.score, b.stuname, b.sex, b.age, b.classno, b.grade from score t, stuinfo b where t.stuid = b.stuid and t.courseid = 'R20180101' and t.score = '85'
IN操作符
在 Where 子句中可以使用 IN 操作符來查詢其列值在指定的列表中的查詢結果。
案例2、查詢學生成績表“score”中課程id為“R20180101”,成績為“79”、“85”、“89”分的同學信息。
--利用邏輯運算符or 和條件"=" 查詢 select t.stuid, t.courseid, t.score, b.stuname, b.sex, b.age, b.classno, b.grade from score t, stuinfo b where t.stuid = b.stuid and t.courseid = 'R20180101' and (t.score = '85' or t.score ='89' or t.score ='79'); -- 利用Oracle操作符”IN“查詢 select t.stuid, t.courseid, t.score, b.stuname, b.sex, b.age, b.classno, b.grade from score t, stuinfo b where t.stuid = b.stuid and t.courseid = 'R20180101' and t.score in ('85','89','79');
BETWEEN...AND
在 WHERE 子句中,可以使用 BETWEEN...AND 操作符來查詢列值包含在指定區間內的查詢結果 。
案例3、查詢學生成績表“score”中課程id為“R20180101”,成績在70-95之間的學生信息。
select t.stuid, t.courseid, t.score, b.stuname, b.sex, b.age, b.classno, b.grade from score t, stuinfo b where t.stuid = b.stuid and t.courseid = 'R20180101' and t.score between '70' and '95'
LIKE模糊查詢
在Oracle條件查詢where條件之中,當遇到查詢值不清楚時,可以利用模糊查詢LIKE關鍵字進行where條件的模糊查詢。LIKE 關鍵字通過字元匹配檢索出所需要的數據行。字元匹配操作可以使用通配符“%”和“_” :
1、%:表示零個或者多個任意字元。
2、_:代表一個任意字元。
3、\:指轉義字元,“\%”在字元串中表示一個字元“%”。
案例4、查詢學生基本信息表“STUINFO”中姓“張”的學生基本信息:
select * from STUINFO t where t.stuname like '張%';
案例5、查詢學生基本信息表“STUINFO”中姓“張”的,並且姓名長度是兩個字的學生基本信息:
select
*
from
STUINFO t
where
t.stuname
like
'張_'
;