1、Oracle 数据库管理与应用 机电学院 计算机系软件教研室1Oracle 数据库管理第十五讲 检索数据-条件查询学院名称 专业班级 实验成绩学生姓名 学号 实验日期一、案例学习目标: 学习使用 SELECT 语句选择查询结果中的特定的基本方法。二、案例知识要点:任务一:使用简单查询;任务二:使用符合条件查询;任务三:使用 DISTINCT 消除重复行;任务四:使用 ROWNUM 返回前 N 行。三、主要仪器设备1、笔记本电脑及相应的 Windows Operating Systems.2、已安装的Oracle 11g 大型数据库及其相应的配套软件。四、实验结果与分析条件查询在 SELECT
2、语句中使用 WHERE 子句可以实现对数据行的筛选查询,只有满足 WHERE 子句中判断条件的行才会显示在结果集中。其语法格式如下:SELECT columns_listFROM table_nameWHERE condition_expression1. 比较筛选范例:查询所有雇员中部分编号为 20 的雇员信息;SQLselect * from emp where deptno=20;Oracle 数据库管理与应用 机电学院 计算机系软件教研室2范例:查询基本工资大于 2000 的雇员信息;SQL select * from emp where sal2000;范例:查询和列出雇员表中参加工
3、作时间为 1982 年 10 月以前的雇员信息;SQL select * from emp where hiredate select empno,ename,sal from emp where sal select empno,ename,sal from emp where sal=ANY(3000,950,800);2:使用特殊关键字筛选(1) LIKE 关键字:在 WHERE 子句中使用 LIKE 关键字查询数据的方式也称为字符串模式匹配或字符串模糊查询。LIKE 关键字需要使用通配符在字符串内查找指定的模式,所以需要了解常用的通配符。常用的通配符有:“_“:下划线,代表任意一个字符
4、;“%“:百分号,代表任意数量的字符如:“K% “:表示以字母 K 开头的任意长度的字符串;Oracle 数据库管理与应用 机电学院 计算机系软件教研室4“%M%“:表示包含字母 M 的任意长度的字符串;“_MRKJ“:表示 5 个字符长度且后面 4 个字符是 MRKJ 的字符串。范例:在 emp 表中,使用 LIKE 关键字匹配一字母 S 开头的任意长度的员工名称,代码如下:SQL select empno,ename,job from emp where ename like S%;范例:查询雇员比中姓名中以“A“开头并以”S“结尾的雇员的姓名和MGR 的信息;SQL select ena
5、me,mgr from emp where ename like A%S;范例:查询和列出数据库雇员表中姓名以“M“大头或以 ”R“结尾的雇员的职工姓名和工资的信息;SQL select ename,sal from emp where ename like M% or ename like %R;Oracle 数据库管理与应用 机电学院 计算机系软件教研室5说明:可以在 LIKE 关键字前面加上 NOT,表示否定的判断,如果 LIKE 为真,则 NOT LIKE 为假。(2) IN 关键字:当测试一个数据值是否匹配一组目标值中的一个时,通常使用 IN 关键字来指定列表搜索条件。IN 关键字的
6、格式是 IN(目标值 1,目标值 2, 。 。 。 。),目标值的项目之间必须使用逗号分隔,并且在括号中。范例:在 emp 表中,使用 IN 关键字查询职务为“ PRESIDENT“、 ”MANAGER“、 “ANALYST“中任意一种员工信息,代码如下:SQLselect empno,ename,job from emp where job in(PRESIDENT,MANAGER,ANALYST);另外,NOT IN 表示查询指定的值不在某一组目标值中,这种方式在实际应用也较多。范例:在 emp 表中,使用 NOT IN 职务不为“PRESIDENT“、 ”MANAGER“、 “ANALY
7、ST“中任意一种员工信息,代码如下:SQLselect empno,ename,job from emp where job not in(PRESIDENT,MANAGER,ANALYST);Oracle 数据库管理与应用 机电学院 计算机系软件教研室6(3) BETWEEN 关键字:需要返回某一个数据值是否位于两个给定的值之间,可以使用范围条件进行检索。通常使用:BETWEENAND 或者:NOTBETWEENAND 来指定范围条件使用 BETWEENAND 查询条件时,指定的第一个值必须小于第二个值。范例:在 emp 表中,使用”BETWEENAND”关键字查询工资(SAL )在2000
8、 到 3000 之间的员工信息SQLselect empno,ename,sal from emp where sal between 2000 and 3000;而 NOTBETWEENAND 语句返回某个数据值在两个指定值的范围以外的,但并不包括两个指定的值。范例:在 emp 表中,使用”BETWEENAND”关键字查询工资(SAL )不在2000 到 3000 之间的员工信息SQLselect empno,ename,sal from emp where sal not between 2000 and 3000;Oracle 数据库管理与应用 机电学院 计算机系软件教研室7(4)IS NULL 关键字:教师签字: