Oracle Les06_子查询

Oracle Les06_子查询

ID:44274035

大小:158.50 KB

页数:18页

时间:2019-10-20

Oracle Les06_子查询_第1页
Oracle Les06_子查询_第2页
Oracle Les06_子查询_第3页
Oracle Les06_子查询_第4页
Oracle Les06_子查询_第5页
资源描述:

《Oracle Les06_子查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、子查询目标通过本章学习,您将可以:描述子查询可以解决的问题定义子查询。列出子查询的类型。书写单行子查询和多行字查询。使用子查询解决问题谁的工资比Abel高?谁的工资比Abel高?MainQuery:?Abel的工资是多少??Subquery子查询语法子查询(内查询)在主查询之前一次执行完成。子查询的结果被主查询使用(外查询)。SELECTselect_listFROMtableWHEREexproperator(SELECTselect_listFROMtable);SELECTlast_nameFROMemployeesWHEREsal

2、ary>(SELECTsalaryFROMemployeesWHERElast_name='Abel');子查询11000注意事项子查询要包含在括号内。将子查询放在比较条件的右侧。除非进行Top-N分析,否则不要在子查询中使用ORDERBY子句。单行操作符对应单行子查询,多行操作符对应多行子查询。子查询类型主查询子查询返回ST_CLERK多行子查询ST_CLERKSA_MAN主查询子查询返回单行子查询单行子查询只返回一行。使用单行比较操作符。操作符=>>=<<=<>含义EqualtoGreaterthanGreaterthanorequa

3、ltoLessthanLessthanorequaltoNotequaltoSELECTlast_name,job_id,salaryFROMemployeesWHEREjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=141)ANDsalary>(SELECTsalaryFROMemployeesWHEREemployee_id=143);执行单行子查询ST_CLERK2600SELECTlast_name,job_id,salaryFROMemployeesWHEREsalary=(S

4、ELECTMIN(salary)FROMemployees);在子查询中使用组函数2500子查询中的HAVING子句首先执行子查询。向主查询中的HAVING子句返回结果。SELECTdepartment_id,MIN(salary)FROMemployeesGROUPBYdepartment_idHAVINGMIN(salary)>(SELECTMIN(salary)FROMemployeesWHEREdepartment_id=50);2500SELECTemployee_id,last_nameFROMemployeesWHEREsa

5、lary=(SELECTMIN(salary)FROMemployeesGROUPBYdepartment_id);非法使用子查询ERRORatline4:ORA-01427:single-rowsubqueryreturnsmorethan onerow多行子查询使用单行比较符子查询中的空值问题norowsselectedSELECTlast_name,job_idFROMemployeesWHEREjob_id=(SELECTjob_idFROMemployeesWHERElast_name='Haas');子查询不返回任何行多行子查

6、询返回多行。使用多行比较操作符。操作符INANYALL含义等于列表中的任何一个和子查询返回的任意一个值比较和子查询返回的所有值比较在多行子查询中使用ANY操作符9000,6000,4200SELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREsalary'IT_PROG';…SELECTemployee_id,last_name,job_id,sala

7、ryFROMemployeesWHEREsalary'IT_PROG';在多行子查询中使用ALL操作符9000,6000,4200子查询中的空值问题SELECTemp.last_nameFROMemployeesempWHEREemp.employee_idNOTIN(SELECTmgr.manager_idFROMemployeesmgr);norowsselected总结通过本章学习,您已经学会:在什么时候遇到

8、什么问题应该使用子查询。在查询是基于未知的值时应使用子查询。SELECTselect_listFROMtableWHEREexproperator(SELECTselect_listFROMt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。