欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle条件查询

程序员文章站 2022-03-12 19:57:32
Oracle条件查询 参考网址:http://www.oraclejsq.com/article/010100259.html Oracle条件查询时经常使用=、IN、LIKE、BETWEEN...AND来作为条件查询的操作符。在Oracle select 查询中where条件经常使用到这几个操作符 ......

  oracle条件查询

参考网址: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 '张_';