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

下载本文档

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

文档简介

OracleSQL开发基础课程结构内容课时(H)第一章

Oracle数据库基础1.8第二章编写简单的查询语句1.2第三章限制数据和对数据排序1.5第四章单行函数2.5第五章多表查询2第六章分组函数2第七章子查询2第八章数据操作与事务控制3.5第九章表和约束4第十章其他数据库对象2.5第三章限制数据和对数据排序目标:本章旨在向学员介绍限制数据的应用,通过本课的学习,学员应该掌握如下知识:1)运算符的使用2)Orderby的使用时间:1.5学时教学方法:第三章限制数据和对数据排序限制数据和对数据排序:3.1WHERE子句的使用3.2ORDERBY子句的使用3.1WHERE子句的使用1/2查询20部门的所有员工

EMPEMPNOENAME SAL ...DEPTNO7839 KING 5100 107369 SMITH 800 20

7499ALLEN160030

7782CLARK245010

...SELECT*FROMempWHEREdeptno=20;

EMP

EMPNO ENAMESAL...DEPTNO7369SMITH800207566JONES2975207902FORD300020带有限制条件的查询3.1WHERE子句的使用2/2使用WHERE子句限定返回的记录WHERE子句在FROM子句后语法:查询公司月薪高于12000的员工信息。SELECT*|{[DISTINCT]列名|表达式[别名][,...]}FROM 表名[WHERE条件];SELECTemployee_id,last_name,salaryFROM employeesWHEREsalary>=12000;3.1.1比较运算符的使用运算符=>>= <<= <>含义等于大于大于等于小于小于等于不等于3.1.2字符型与日期型大小写敏感的实例1/2使用比较运算符需要遵循以下原则:字符及日期类型需要在两端用单引号;字符类型大小写敏感;日期类型格式敏感,默认格式’DD-MON-RR’;查询在1999年1月1日以后进入公司的雇员信息。SELECTlast_name,hire_dateFROMemployeesWHEREhire_date>='01-1月-1999';3.1.2字符型与日期型大小写敏感的实例1/2转换英文环境查询在1999年1月1日以后进入公司的雇员信息(英文环境)

SELECTlast_name,hire_dateFROMemployeesWHEREhire_date>='01-JAN-1999';ALTERSESSIONSETNLS_LANGUAGE='AMERICAN';3.1.3特殊比较运算符运算符IN(列表)含义确定集合确定范围,在两个值之间(包含比较值)ISNULLLIKE字符串匹配查询判断空值BETWEEN...AND...3.1.4BETWEEN…AND…运算符的使用查询月薪在4200元到6000公司的雇员。

SELECT employee_id,last_name,salaryFROM employeesWHERE salaryBETWEEN4200AND6000;3.1.5IN运算符的使用IN运算符主要对指定的值进行比较查看的时候使用。查询部门编号为10、90或110的雇员信息。SELECTemployee_id,last_name,salary,department_idFROMemployeesWHEREdepartment_idIN(10,90,110);SELECTemployee_id,last_name,salaryFROMemployeesWHERElast_nameLIKE'S%';3.1.6LIKE运算符的使用1/3使用LIKE运算符完成模糊查询功能使用通配符来代替未知的信息。常用通配符有%和_。

%可以代替任意长度字符(包括长度为0)。

_可以代替一个字符。查询last_name首字母是S的雇员信息。

%与_组合使用查询last_name第二个字母是b的雇员信息。

3.1.6LIKE运算符的使用2/3SELECTemployee_id,last_name,salaryFROMemployeesWHERElast_nameLIKE'_b%';使用ESCAPE标识符来查找带特殊符号的字符号。查询JOB_ID以“FI_”开头的雇员信息。3.1.6LIKE运算符的使用3/3SELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREjob_idLIKE'FI\_%'ESCAPE'\';SELECTemployee_id,last_name,salary,department_idFROMemployeesWHEREdepartment_idISNULL;3.1.7ISNULL运算符的使用查询包含空值的记录未分配部门的雇员信息。3.1.8逻辑运算符的使用1/6运算符OR含义如果组合的条件之一是TRUE,返回TRUE。NULL和TRUE组合,返回TRUE。如果组合的条件都是TRUE,返回TRUE。NULL和FALSE组合,返回FALSE。NOT如果下面的条件是FALSE,返回TRUE。AND3.1.8逻辑运算符的使用2/6查询月薪在4200元到6000元公司的雇员。SELECTemployee_id,last_name,salaryFROM employeesWHEREsalary>=4200AND salary<=6000;3.1.8逻辑运算符的使用3/6月薪大于10000元,并且在60和90号部门工作的员工。SELECTlast_name,salary,department_idFROMemployeesWHEREsalary>10000ANDdepartment_idin(60,90);3.1.8逻辑运算符的使用4/6月薪大于10000元,或者在60和90号部门工作的员工。SELECTlast_name,salary,department_idFROMemployeesWHEREsalary>10000ORdepartment_idin(60,90);3.1.8逻辑运算符的使用5/6查找职位不是IT_PROG,ST_CLERK,FI_ACCOUNT的员工信息。

SELECTlast_name,job_id,salaryFROM employeesWHEREjob_idNOTIN('IT_PROG','ST_CLERK','FI_ACCOUNT');3.1.8逻辑运算符的使用6/6NOT运算符还可以和BETWEEN…AND、LIKE、ISNULL一起使用。...WHEREdepartment_idNOTIN(60,90);...WHEREsalaryNOTBETWEEN10000AND25000;...WHERElast_nameNOTLIKE'D%'...WHEREmanager_idISNOTNULL3.1.9运算符的优先级1/3括号’()’优先于其他操作符。优先级1432567运算分类逻辑非逻辑与逻辑或其他比较运算符数学运算符通用比较运算符连接运算符运算符举例NOTANDORIS[NOT]NULL,LIKE,[NOT]BETWEEN,[NOT]IN*,\,+,-=,<>,<,>,<=,>=||3.1.9运算符的优先级2/3查找职位是FI_ACCOUNT或工资超过16000的职位是AD_VP的员工。SELECTlast_name,job_id,salary,department_idFROM employeesWHEREjob_id='FI_ACCOUNT'OR job_id='AD_VP'ANDsalary>16000;3.1.9运算符的优先级3/3查找工作超过16000并且职位是FI_ACCOUNT或是AD_VP的员工。SELECTlast_name,job_id,salary,department_idFROM employeesWHERE (job_id='FI_ACCOUNT'OR job_id='AD_VP')ANDsalary>16000;第三章限制数据和对数据排序限制数据和对数据排序:3.1WHERE子句的使用3.2ORDERBY子句的使用3.2.1使用ORDERBY子句排序的应用1/5ORDERBY子句后的语法结构如下:查看公司员工信息,按照员工部门降序排列。

SELECT*|{[DISTINCT]列名|表达式

[别名][,...]}FROM 表名[WHERE条件][ORDERBY{列名|表达式|别名}[ASC|DESC],…];SELECTlast_name,job_id,salary,department_idFROM employeesORDERBYdepartment_idDESC;3.2.1使用ORDERBY子句排序的应用2/5不同数据类型排序规则(以升序为例)数字升序排列小值在前,大值在后。即按照数字大小顺序由小到大排列。日期升序排列相对较早的日期在前,较晚的日期在后。例如:’01-SEP-06’在’01-SEP-07’前。字符升序排列按照字母由小到大的顺序排列。即由A-Z排列;中文升序按照字典顺序排列。空值在升序排列中排在最后,在降序排列中排在最开始。3.2.1使用ORDERBY子句排序的应用3/5使用列别名排序,多列排序。查看员工信息,结果按照年薪升序排列。查看员工信息,结果按照job_id升序排列,月薪按照降序排列。SELECTlast_name,job_id,salary*12annual,department_idFROMemployeesORDERBYannual;SELECTlast_name,job_id,salary,department_idFROMemployeesORDERBYjob_id,salarydesc;3.2.1使用ORDERBY子句排序的应用4/5ORDERBY特殊使用ORDERBY子句可以出现在SELECT子句中没有出现过的列。ORDERBY子句后的列名,可以用数字来代替。这个数字是SELECT语句后列的顺序号。查看

温馨提示

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

评论

0/150

提交评论