时间:2021-07-01 10:21:17 帮助过:2人阅读
注:unique, not unique 在oracle 8, sql server 7中不支持。
from子句中的子查询
例子,找出平均工资超过42000美元的那些系中的教师的平均工资
select dept_name,avg_salary
from(select dept_name, avg(salary) from instructor group by dept_name) as dept_avg(dept_name, avg_salary)//橙色部分,相当于局部子视图
where avg_salary > 42000;
with子句
找出最大预算的系
with max_budget(value) as(select max(budget)from department)--定义临时关系
select budget
from department, max_budget ---------------------使用临时关系
where department.budget = max_budget.value;
找出工资总额大于平均值的系
with dept_total (dept_name, value) as(select dept_name, sum(salary) from instructor group by dept_name)//每个系的工资总和
dept_total_avg(value)(select avg(value) from dept_total)//所有系的平均工资
select dept_name
from dept_total A, dept_total_avg B
where A.value>=B.value;
【数据库(二)】嵌套子查询
标签: