Les18oracle数据库教程.ppt
《Les18oracle数据库教程.ppt》由会员分享,可在线阅读,更多相关《Les18oracle数据库教程.ppt(32页珍藏版)》请在三一办公上搜索。
1、,高级子查询,目标,通过本章学习,您将可以:书写多列子查询子查询对空值的处理在 FROM 子句中使用子查询在SQL中使用单列子查询相关子查询书写相关子查询使用子查询更新和删除数据使用 EXISTS 和 NOT EXISTS 操作符使用 WITH 子句,子查询,子查询是嵌套在 SQL 语句中的另一个SELECT 语句,SELECT.FROM.WHERE.,(SELECT.FROM.WHERE.),主查询,子查询,子查询,子查询(内查询)在主查询执行之前执行主查询使用子查询的结果(外查询),SELECTselect_listFROMtableWHEREexpr operator(SELECT se
2、lect_list FROM table);,SELECT last_nameFROM employeesWHERE salary(SELECT salary FROM employees WHERE employee_id=149);,子查询应用举例,多列子查询,Main query,WHERE(MANAGER_ID,DEPARTMENT_ID)IN,Subquery,100 90102 60124 50,主查询与子查询返回的多个列进行比较,列比较,多列子查询中的比较分为两种:成对比较不成对比较,成对比较举例,SELECTemployee_id,manager_id,department_i
3、dFROMemployeesWHERE(manager_id,department_id)IN(SELECT manager_id,department_id FROM employees WHERE employee_id IN(178,174)ANDemployee_id NOT IN(178,174);,不成对比较举例,SELECT employee_id,manager_id,department_idFROM employeesWHERE manager_id IN(SELECT manager_id FROM employees WHERE employee_id IN(174,1
4、41)AND department_id IN(SELECT department_id FROM employees WHERE employee_id IN(174,141)ANDemployee_id NOT IN(174,141);,SELECT a.last_name,a.salary,a.department_id,b.salavgFROM employees a,(SELECT department_id,AVG(salary)salavg FROM employees GROUP BY department_id)bWHERE a.department_id=b.departm
5、ent_idAND a.salary b.salavg;,在 FROM 子句中使用子查询,单列子查询表达式,单列子查询表达式是在一行中只返回一列的子查询Oracle8i 只在下列情况下可以使用,例如:SELECT 语句(FROM 和 WHERE 子句)INSERT 语句中的VALUES列表中Oracle9i中单列子查询表达式可在下列情况下使用:DECODE 和 CASESELECT 中除 GROUP BY 子句以外的所有子句中,单列子查询应用举例,在 CASE 表达式中使用单列子查询,SELECT employee_id,last_name,(CASE WHEN department_id=T
6、HEN Canada ELSE USA END)locationFROM employees;,(SELECT department_id FROM departmentsWHERE location_id=1800),在 ORDER BY 子句中使用单列子查询,SELECT employee_id,last_nameFROM employees eORDER BY,(SELECT department_name FROM departments d WHERE e.department_id=d.department_id);,相关子查询,相关子查询按照一行接一行的顺序执行,主查询的每一行都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Les18oracle 数据库 教程
链接地址:https://www.31ppt.com/p-6511008.html