第3章 限制数据和对数据排序_第1页
第3章 限制数据和对数据排序_第2页
第3章 限制数据和对数据排序_第3页
第3章 限制数据和对数据排序_第4页
第3章 限制数据和对数据排序_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3 Sept. 2008 Neusoft Confidential第三章第三章 限制数据和对数据排序限制数据和对数据排序 东软IT人才实训中心Copyright 2014 By Neusoft Group. All rights reserved3 Sept. 2014Confidential学时:学时:2 2学时学时教学方法:讲授教学方法:讲授pptppt上机练习点评上机练习点评目标目标: :本章旨在向学员介绍限制数据的本章旨在向学员介绍限制数据的应用,通过本课的学习,学员应应用,通过本课的学习,学员应该掌握如下知识:该掌握如下知识:1) 1) 运算符的使用运算符的使用2 2)Order b

2、yOrder by的使用的使用3 Sept. 2014Confidential带有限制条件的查询带有限制条件的查询 EMPNO ENAME SAL . DEPTNO 7839 KING 5100 10 7369 SMITH 800 20 7499 ALLEN 1600 30 7782 CLARK 2450 10 .SELECT * FROM emp WHERE deptno= 20; EMPNO ENAME SAL . DEPTNO 7369 SMITH 800 20 7566 JONES 2975 20 7902 FORD 3000 203 Sept. 2014Confidential选择表

3、中的部分行选择表中的部分行 使用WHERE子句限定返回的记录WHERE子句在 FROM 子句后语法:查询公司月薪高于查询公司月薪高于12000的员工信息。的员工信息。SELECT *|DISTINCT 列名|表达式 别名,.FROM 表名WHERE 条件;SELECT employee_id, last_name, salaryFROM employeesWHERE salary = 12000;3 Sept. 2014Confidential比较运算符比较运算符 运算符运算符= = = = = =含义含义等于等于大于大于 大于等于大于等于 小于小于 小于等于小于等于不等于不等于3 Sept.

4、 2014Confidential使用比较运算符使用比较运算符使用比较运算符需要遵循以下原则: 字符及日期类型需要在两端用单引号; 字符类型大小写敏感; 日期类型格式敏感,默认格式DD-MON-RR;查询在查询在1999年年1月月1日以后进入公司的雇员信息。日以后进入公司的雇员信息。SELECT last_name, hire_dateFROM employeesWHERE hire_date = 01-1月-1999;3 Sept. 2014Confidential转换英文环境转换英文环境 查询在查询在1999年年1月月1日以后进入公司的雇员信息(英文环境)日以后进入公司的雇员信息(英文环境

5、) SELECT last_name, hire_dateFROM employeesWHERE hire_date = 01-JAN-1999;ALTER SESSION SET NLS_LANGUAGE=AMERICAN;3 Sept. 2014Confidential特殊比较运算符特殊比较运算符运算符运算符IN( 列表)列表)含义含义确定集合确定范围,在两个值之间 (包含比较值)IS NULLLIKE字符串匹配查询判断空值BETWEEN.AND.3 Sept. 2014ConfidentialBETWEENAND查询月薪在查询月薪在4200元到元到6000公司的雇员。公司的雇员。 SEL

6、ECTemployee_id, last_name, salaryFROMemployeesWHEREsalary BETWEEN 4200 AND 6000;3 Sept. 2014Confidential使用使用IN运算符运算符IN运算符主要对指定的值进行比较查看的时候使用。查询部门编号为查询部门编号为10、90或或110的雇员信息。的雇员信息。SELECT employee_id, last_name, salary, department_idFROM employeesWHERE department_id IN (10, 90, 110);3 Sept. 2014Confident

7、ialSELECT employee_id, last_name, salaryFROM employeesWHERE last_name LIKE S%;使用使用LIKE运算符运算符使用LIKE运算符完成模糊查询功能 使用通配符来代替未知的信息。常用通配符有 %和_ 。 %可以代替任意长度字符(包括长度为0)。 _可以代替一个字符。查询查询last_name首字母是首字母是S的雇员信息。的雇员信息。 3 Sept. 2014Confidential%与_组合使用查询查询last_name第二个字母是第二个字母是b的雇员信息。的雇员信息。 使用使用LIKE运算符(续)运算符(续)SELECT

8、employee_id, last_name, salaryFROM employeesWHERE last_name LIKE _b%;3 Sept. 2014Confidential使用ESCAPE 标识符来查找带特殊符号的字符号。查询查询JOB_ID以以“FI_”开头的雇员信息开头的雇员信息。使用使用LIKE运算符(续)运算符(续)SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE job_id LIKE FI_% ESCAPE ;3 Sept. 2014ConfidentialSELECT employee_

9、id, last_name, salary, department_idFROM employeesWHERE department_id IS NULL;IS NULL运算符运算符查询包含空值的记录未分配部门的雇员信息。未分配部门的雇员信息。3 Sept. 2014Confidential逻辑运算符逻辑运算符运算符运算符OR含义含义如果组合的条件之一是TRUE,返回TRUE。NULL和TRUE组合,返回TRUE。如果组合的条件都是TRUE,返回TRUE。NULL和FALSE组合,返回FALSE。NOT如果下面的条件是FALSE,返回TRUE。AND3 Sept. 2014Confidenti

10、alAND运算符运算符查询月薪在查询月薪在4200元到元到6000元公司的雇员。元公司的雇员。SELECT employee_id, last_name, salaryFROM employeesWHERE salary=4200 AND salary10000 AND department_id in (60,90);3 Sept. 2014ConfidentialOR运算符运算符月薪大于月薪大于10000元,或者在元,或者在60和和90号部门工作的员工。号部门工作的员工。SELECT last_name, salary, department_idFROM employeesWHERE s

11、alary10000 OR department_id in (60,90);3 Sept. 2014Confidential使用使用NOT运算符运算符查找职位不是查找职位不是IT_PROG,ST_CLERK,FI_ACCOUNT的员工信的员工信息。息。 SELECT last_name, job_id, salaryFROM employeesWHERE job_id NOT IN (IT_PROG, ST_CLERK, FI_ACCOUNT);3 Sept. 2014Confidential使用使用NOT运算符(续)运算符(续)NOT运算符还可以和BETWEENAND、LIKE、IS NU

12、LL一起使用。.WHERE department_id NOT IN (60, 90);. WHERE salary NOT BETWEEN 10000 AND 25000;. WHERE last_name NOT LIKE D%. WHERE manager_id IS NOT NULL3 Sept. 2014Confidential运算符优先级运算符优先级括号()优先于其他操作符。 优先级优先级1432567运算分类运算分类逻辑非逻辑与逻辑或其他比较运算符数学运算符通用比较运算符连接运算符运算符举例运算符举例NOTANDORIS NOT NULL, LIKE, NOT BETWEEN,

13、NOT IN*, , +, -=, , , =|3 Sept. 2014Confidential运算符的优先级(续)运算符的优先级(续)查找职位是查找职位是FI_ACCOUNT或工资超过或工资超过16000的职位是的职位是AD_VP的的员工。员工。SELECT last_name, job_id, salary, department_idFROM employeesWHERE job_id = FI_ACCOUNTOR job_id = AD_VP AND salary 16000;3 Sept. 2014Confidential运算符的优先级(续)运算符的优先级(续)查找工作超过查找工作超

14、过16000并且职位是并且职位是FI_ACCOUNT或是或是AD_VP的员的员工。工。SELECT last_name, job_id, salary, department_idFROM employeesWHERE(job_id = FI_ACCOUNTORjob_id = AD_VP)AND salary 16000;3 Sept. 2014ConfidentialORDER BY的使用的使用 ORDER BY子句后的语法结构如下:查看公司员工信息,按照员工部门降序排列。查看公司员工信息,按照员工部门降序排列。 SELECT *|DISTINCT 列名|表达式 别名,.FROM 表名WH

15、ERE 条件ORDER BY 列名列名|表达式表达式|别名别名 ASC|DESC,;SELECT last_name, job_id, salary, department_id FROM employeesORDER BY department_id DESC,nam ;3 Sept. 2014Confidential不同数据类型排序规则不同数据类型排序规则(以升序为例以升序为例)数字升序排列小值在前,大值在后。即按照数字大小顺序由小到大排列。日期升序排列相对较早的日期在前,较晚的日期在后。例如:01-SEP-06在01-SEP-07前。字符升序排列按照字母由小到大的顺序排列。即由A-Z排列

16、;中文升序按照字典顺序排列。空值在升序排列中排在最后,在降序排列中排在最开始。3 Sept. 2014ConfidentialORDER BY排序排序使用列别名排序,多列排序。查看员工信息,结果按照年薪升序排列。查看员工信息,结果按照年薪升序排列。查看员工信息,结果按照查看员工信息,结果按照job_id升序排列,月薪按照降序排列。升序排列,月薪按照降序排列。SELECT last_name, job_id, salary*12 annual, department_id FROM employeesORDER BY annual;SELECT last_name, job_id, salary

17、, department_id FROM employeesORDER BY job_id, salary desc; 3 Sept. 2014ConfidentialORDER BY特殊使用特殊使用ORDER BY子句可以出现在SELECT子句中没有出现过的列。ORDER BY子句后的列名,可以用数字来代替。这个数字是SELECT语句后列的顺序号。查看公司员工信息,按照月薪由高到低排列,而具体的工资数不查看公司员工信息,按照月薪由高到低排列,而具体的工资数不显示。显示。 SELECT last_name, job_id, hire_dateFROM employeesORDER BY salary;3 Sept. 2014ConfidentialORDER BY特殊使用(续)特殊使用(续)查看员工信息,结果按照按照查看员工信息,结果按照按照job_id升序排列,月薪按照降序升序排列,月薪按照降序排列。排列。 SELECT last_name, job_id, salary, department_id FROM employeesORDER BY 2, 3 desc;3 Sept. 2014Confidential本章小结本章小结选择表中的部分行比较运算符的使用特殊比较运算符的使用逻辑运算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论