设为首页 加入收藏

TOP

oracle_高级子查询(二)
2014-11-23 21:42:34 来源: 作者: 【 】 浏览:35
Tags:oracle_ 高级 查询

使用相关子查询依据一个表中的数据更新另一个表的数据

⑧相关删除
DELETE FROM table1 alias1
WHERE column operator
(SELECT expression
FROM table2 alias2
WHERE alias1.column = alias2.column);
⑨WITH 子句
使用 WITH 子句, 可以避免在 SELECT 语句中重复书写相同的语句块
WITH 子句将该子句中的语句块执行一次并存储到用户的临时表空间中
使用 WITH 子句可以提高查询效率

例:查询公司中各部门的总工资大于公司中各部门的平均总工资的部门信息
WITH dept_costs AS (
SELECT d.department_name, SUM(e.salary) AS dept_total
FROM employees e, departments d
WHERE e.department_id = d.department_id
GROUP BY d.department_name),
avg_cost AS (
SELECT SUM(dept_total)/COUNT(*) AS dept_avg
FROM dept_costs)
SELECT *
FROM dept_costs
WHERE dept_total >
(SELECT dept_avg
FROM avg_cost)
ORDER BY department_name;

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle_set运算符 下一篇oracle-存储过程练习

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: