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

下载本文档

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

文档简介

1、Oracle SQL开发基础开发基础第三章第三章 限制数据和对数据排序限制数据和对数据排序目标目标:本章旨在向学员介绍限制数据的应用,通过本课的学习,本章旨在向学员介绍限制数据的应用,通过本课的学习,学员应该掌握如下知识:学员应该掌握如下知识:1) 运算符的使用运算符的使用2)Order by的使用的使用第三章第三章 限制数据和对数据排序限制数据和对数据排序限制数据和对数据排序:3.1WHERE子句的使用3.2ORDER BY子句的使用3.1WHERE子句的使用子句的使用 1/2 EMPNO ENAME SAL . DEPTNO 7839 KING 5100 10 7369 SMITH 800

2、 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 20带有限制条件的查询3.1WHERE子句的使用子句的使用 2/2使用WHERE子句限定返回的记录WHERE子句在 FROM 子句后语法:查询公司月薪高于查询公司月薪高于12000的员工信息。的员工信息。SELECT *|DISTINCT 列名|表达式 别名,.FROM 表名WHERE

3、条件;SELECT employee_id, last_name, salaryFROM employeesWHERE salary = 12000;3.1.1比较运算符的使用比较运算符的使用运算符运算符= = = = = =含义含义等于等于大于大于 大于等于大于等于 小于小于 小于等于小于等于不等于不等于3.1.2字符型与日期型大小写敏感的实例字符型与日期型大小写敏感的实例 1/2使用比较运算符需要遵循以下原则: 字符及日期类型需要在两端用单引号; 字符类型大小写敏感; 日期类型格式敏感,默认格式DD-MON-RR;查询在查询在1999年年1月月1日以后进入公司的雇员信息。日以后进入公司的雇

4、员信息。SELECT last_name, hire_dateFROM employeesWHERE hire_date = 01-1月-1999;3.1.2字符型与日期型大小写敏感的实例字符型与日期型大小写敏感的实例 1/2转换英文环境 查询在查询在1999年年1月月1日以后进入公司的雇员信息(英文环境)日以后进入公司的雇员信息(英文环境) SELECT last_name, hire_dateFROM employeesWHERE hire_date = 01-JAN-1999;ALTER SESSION SET NLS_LANGUAGE=AMERICAN;3.1.3特殊比较运算符特殊比较

5、运算符运算符运算符IN( 列表)列表)含义含义确定集合确定范围,在两个值之间 (包含比较值)IS NULLLIKE字符串匹配查询判断空值BETWEEN.AND.3.1.4BETWEENAND运算符的使用运算符的使用查询月薪在查询月薪在4200元到元到6000公司的雇员。公司的雇员。 SELECTemployee_id, last_name, salaryFROMemployeesWHEREsalary BETWEEN 4200 AND 6000;3.1.5IN运算符的使用运算符的使用IN运算符主要对指定的值进行比较查看的时候使用。查询部门编号为查询部门编号为10、90或或110的雇员信息。的雇

6、员信息。SELECT employee_id, last_name, salary, department_idFROM employeesWHERE department_id IN (10, 90, 110);SELECT employee_id, last_name, salaryFROM employeesWHERE last_name LIKE S%;3.1.6LIKE运算符的使用运算符的使用 1/3使用LIKE运算符完成模糊查询功能 使用通配符来代替未知的信息。常用通配符有 %和_ 。 %可以代替任意长度字符(包括长度为0)。 _可以代替一个字符。查询查询last_name首字母是

7、首字母是S的雇员信息。的雇员信息。 %与_组合使用查询查询last_name第二个字母是第二个字母是b的雇员信息。的雇员信息。 3.1.6LIKE运算符的使用运算符的使用 2/3SELECT employee_id, last_name, salaryFROM employeesWHERE last_name LIKE _b%;使用ESCAPE 标识符来查找带特殊符号的字符号。查询查询JOB_ID以以“FI_”开头的雇员信息开头的雇员信息。3.1.6LIKE运算符的使用运算符的使用 3/3SELECT employee_id, last_name, job_id, salaryFROM emp

8、loyeesWHERE job_id LIKE FI_% ESCAPE ;SELECT employee_id, last_name, salary, department_idFROM employeesWHERE department_id IS NULL;3.1.7IS NULL运算符的使用运算符的使用查询包含空值的记录未分配部门的雇员信息。未分配部门的雇员信息。3.1.8逻辑运算符的使用逻辑运算符的使用 1/6运算符运算符OR含义含义如果组合的条件之一是TRUE,返回TRUE。NULL和TRUE组合,返回TRUE。如果组合的条件都是TRUE,返回TRUE。NULL和FALSE组合,返回

9、FALSE。NOT如果下面的条件是FALSE,返回TRUE。AND3.1.8逻辑运算符的使用逻辑运算符的使用 2/6查询月薪在查询月薪在4200元到元到6000元公司的雇员。元公司的雇员。SELECT employee_id, last_name, salaryFROM employeesWHERE salary=4200 AND salary10000 AND department_id in (60,90);3.1.8逻辑运算符的使用逻辑运算符的使用 4/6月薪大于月薪大于10000元,或者在元,或者在60和和90号部门工作的员工。号部门工作的员工。SELECT last_name, sa

10、lary, department_idFROM employeesWHERE salary10000 OR department_id in (60,90);3.1.8逻辑运算符的使用逻辑运算符的使用 5/6查找职位不是查找职位不是IT_PROG,ST_CLERK,FI_ACCOUNT的员工的员工信息。信息。 SELECT last_name, job_id, salaryFROM employeesWHERE job_id NOT IN (IT_PROG, ST_CLERK, FI_ACCOUNT);3.1.8逻辑运算符的使用逻辑运算符的使用 6/6NOT运算符还可以和BETWEENAND、

11、LIKE、IS NULL一起使用。.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.1.9运算符的优先级运算符的优先级 1/3括号()优先于其他操作符。 优先级优先级1432567运算分类运算分类逻辑非逻辑与逻辑或其他比较运算符数学运算符通用比较运算符连接运算符运算符举例运算符举例NOTANDORIS NOT NULL, LIKE, NOT BETWEEN, NOT

12、 IN*, , +, -=, , , =|3.1.9运算符的优先级运算符的优先级 2/3查找职位是查找职位是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.1.9运算符的优先级运算符的优先级 3/3查找工作超过查找工作超过16000并且职位是并且职位是FI_ACCOUNT或是或是AD_VP的员工。的员工。SE

13、LECT last_name, job_id, salary, department_idFROM employeesWHERE(job_id = FI_ACCOUNTORjob_id = AD_VP)AND salary 16000;第三章第三章 限制数据和对数据排序限制数据和对数据排序限制数据和对数据排序:3.1WHERE子句的使用3.2ORDER BY子句的使用3.2.1使用使用ORDER BY子句排序的应用子句排序的应用 1/5ORDER BY子句后的语法结构如下:查看公司员工信息,按照员工部门降序排列。查看公司员工信息,按照员工部门降序排列。 SELECT *|DISTINCT 列名

14、|表达式 别名,.FROM 表名WHERE 条件ORDER BY 列名列名|表达式表达式|别名别名 ASC|DESC,;SELECT last_name, job_id, salary, department_id FROM employeesORDER BY department_id DESC;3.2.1使用使用ORDER BY子句排序的应用子句排序的应用 2/5不同数据类型排序规则(以升序为例)数字升序排列小值在前,大值在后。即按照数字大小顺序由小到大排列。日期升序排列相对较早的日期在前,较晚的日期在后。例如:01-SEP-06在01-SEP-07前。字符升序排列按照字母由小到大的顺序排

15、列。即由A-Z排列;中文升序按照字典顺序排列。空值在升序排列中排在最后,在降序排列中排在最开始。3.2.1使用使用ORDER BY子句排序的应用子句排序的应用 3/5使用列别名排序,多列排序。查看员工信息,结果按照年薪升序排列。查看员工信息,结果按照年薪升序排列。查看员工信息,结果按照查看员工信息,结果按照job_id升序排列,月薪按照降序排列。升序排列,月薪按照降序排列。SELECT last_name, job_id, salary*12 annual, department_id FROM employeesORDER BY annual;SELECT last_name, job_id

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

温馨提示

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

评论

0/150

提交评论