课程表

Oracle 基础教程

Oracle 进阶教程

Oracle PL/SQL

Oracle OEM

Oracle 备份和恢复

Oracle RAC

工具箱
速查手册

Oracle 常见关键词

当前位置:免费教程 » 数据库/运维 » Oracle

本章节介绍五种常见的Oracle条件查询语句关键词:DISTINCT、=操作符、IN操作符、BETWEEN...AND、LIKE模糊查询。

一、Oracle DISTINCT

  1. SELECT DISTINCT 1,列2,列3... from 表名;

语法解析:

当关键字DISTINCT后面只有一个列1时,表示的是单个字段查询结果的不重复数据,当后面跟着多个列值时,表示的是多个字段组成的查询结果的所有唯一值,进行的是多个字段的分组消除。


案例1、查询学生成绩表中课程“数学(2018上学期)”的所有出现的成绩,不重复:

  1. select distinct b.coursename, t.score
  2.   from score t, course b
  3.  where t.courseid = b.courseid
  4.    and t.courseid = 'R20180101';

结果如下:

1.jpg


Oracle条件查询时经常使用=、IN、LIKE、BETWEEN...AND来作为条件查询的操作符。在Oracle select 查询中where条件经常使用到这几个操作符。

二、Oracle =操作符

在条件查询语句中“=”表示列值等于一个固定值所查询出的结果。


案例2、查询学生成绩表“score”中课程id为“R20180101”,成绩为“85”分的同学信息。

  1. select t.stuid,
  2.        t.courseid,
  3.        t.score,
  4.        b.stuname,
  5.        b.sex,
  6.        b.age,
  7.        b.classno,
  8.        b.grade
  9.   from score t, stuinfo b
  10.  where t.stuid = b.stuid
  11.    and t.courseid = 'R20180101'
  12.    and t.score = '85'

结果如下:

2.jpg


三、Oracle IN操作符

在 Where 子句中可以使用 IN 操作符来查询其列值在指定的列表中的查询结果。


案例3、查询学生成绩表“score”中课程id为“R20180101”,成绩为“79”、“85”、“89”分的同学信息。

  1. --利用逻辑运算符or 和条件"=" 查询
  2. select t.stuid,
  3.        t.courseid,
  4.        t.score,
  5.        b.stuname,
  6.        b.sex,
  7.        b.age,
  8.        b.classno,
  9.        b.grade
  10.   from score t, stuinfo b
  11.  where t.stuid = b.stuid
  12.    and t.courseid = 'R20180101'
  13.    and (t.score = '85' or t.score ='89' or t.score ='79');
  14. -- 利用Oracle操作符”IN“查询  
  15. select t.stuid,
  16.        t.courseid,
  17.        t.score,
  18.        b.stuname,
  19.        b.sex,
  20.        b.age,
  21.        b.classno,
  22.        b.grade
  23.   from score t, stuinfo b
  24.  where t.stuid = b.stuid
  25.    and t.courseid = 'R20180101'
  26.    and t.score in ('85','89','79');

结果如下:

3.jpg


四、Oracle BETWEEN...AND

在 WHERE 子句中,可以使用 BETWEEN...AND 操作符来查询列值包含在指定区间内的查询结果 。


案例4、查询学生成绩表“score”中课程id为“R20180101”,成绩在70-95之间的学生信息。

  1. select t.stuid,
  2.        t.courseid,
  3.        t.score,
  4.        b.stuname,
  5.        b.sex,
  6.        b.age,
  7.        b.classno,
  8.        b.grade
  9.   from score t, stuinfo b
  10.  where t.stuid = b.stuid
  11.    and t.courseid = 'R20180101'
  12.    and  t.score between '70' and '95'

结果如下:

4.jpg


五、Oracle LIKE模糊查询

在Oracle条件查询where条件之中,当遇到查询值不清楚时,可以利用模糊查询LIKE关键字进行where条件的模糊查询。LIKE 关键字通过字符匹配检索出所需要的数据行。字符匹配操作可以使用通配符“%”和“_” :

1、%:表示零个或者多个任意字符。

2、_:代表一个任意字符。

3、\:指转义字符,“\%”在字符串中表示一个字符“%”。


案例5、查询学生基本信息表“STUINFO”中姓“张”的学生基本信息:

  1. select * from STUINFO t where t.stuname like '张%';

结果如下:

5.jpg

案例6、查询学生基本信息表“STUINFO”中姓“张”的,并且姓名长度是两个字的学生基本信息:

  1. select * from STUINFO t where t.stuname like '张_';

结果如下:

6.jpg

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号