• / 31
  • 下载费用:10 金币  

Oracle Les18_高级子查询.ppt

关 键 词:
Oracle Les18_高级子查询.ppt
资源描述:
,高级子查询,,,目标,通过本章学习,您将可以: 书写多列子查询 子查询对空值的处理 在 FROM 子句中使用子查询 在SQL中使用单列子查询 相关子查询 书写相关子查询 使用子查询更新和删除数据 使用 EXISTS 和 NOT EXISTS 操作符 使用 WITH 子句,,子查询,子查询是嵌套在 SQL 语句中的另一个SELECT 语句,,SELECT . FROM . WHERE .,,(SELECT .FROM .WHERE .),主查询,子查询,,,,子查询,子查询 (内查询) 在主查询执行之前执行 主查询使用子查询的结果 (外查询),,SELECT select_list FROM table WHERE expr operator (SELECT select_listFROM table);,,,,SELECT last_name FROM employees WHERE salary (SELECT salaryFROM employeesWHERE employee_id = 149) ;,,子查询应用举例,,,多列子查询,,Main query,WHERE (MANAGER_ID, DEPARTMENT_ID) IN,Subquery,100 90 102 60 124 50,,,,主查询与子查询返回的多个列进行比较,,列比较,多列子查询中的比较分为两种:成对比较 不成对比较,,,成对比较举例,SELECT employee_id, manager_id, department_id FROM employees WHERE (manager_id, department_id) IN(SELECT manager_id, department_idFROM employeesWHERE employee_id IN (178,174)) AND employee_id NOT IN (178,174);,,,,不成对比较举例,SELECT employee_id, manager_id, department_id FROM employees WHERE manager_id IN (SELECT manager_idFROM employeesWHERE employee_id IN (174,141)) AND department_id IN (SELECT department_idFROM employeesWHERE employee_id IN (174,141)) AND employee_id NOT IN(174,141);,,,,SELECT a.last_name, a.salary, a.department_id, b.salavg FROM employees a, (SELECT department_id, AVG(salary) salavgFROM employeesGROUP BY department_id) b WHERE a.department_id = b.department_id AND a.salary b.salavg;,,在 FROM 子句中使用子查询,,,单列子查询表达式,单列子查询表达式是在一行中只返回一列的子查询 Oracle8i 只在下列情况下可以使用, 例如: SELECT 语句 (FROM 和 WHERE 子句) INSERT 语句中的VALUES列表中 Oracle9i中单列子查询表达式可在下列情况下使用: DECODE 和 CASE SELECT 中除 GROUP BY 子句以外的所有子句中,,,单列子查询应用举例,在 CASE 表达式中使用单列子查询,SELECT employee_id, last_name,(CASEWHEN department_id =THEN 'Canada' ELSE 'USA' END) location FROM employees;,(SELECT department_id FROM departments WHERE location_id = 1800),在 ORDER BY 子句中使用单列子查询,,SELECT employee_id, last_name FROM employees e ORDER BY,(SELECT department_nameFROM departments dWHERE e.department_id = d.department_id);,,,,,相关子查询,相关子查询按照一行接一行的顺序执行,主查询的每一行都执行一次子查询,,,,G
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:Oracle Les18_高级子查询.ppt
链接地址:https://www.weizhuannet.com/p-7357369.html
微传网是一个办公文档、学习资料下载的在线文档分享平台

微传网博客

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开