null
From子句可用于在SQL中指定子查询表达式。然后,子查询生成的关系被用作应用外部查询的新关系。
- 大多数SQL实现都支持from子句中的子查询。
- from子句中的关系中的相关变量不能用于from子句中的子查询。
语法 :
SELECT column1, column2 FROM (SELECT column_x as C1, column_y FROM table WHERE PREDICATE_X) as table2 WHERE PREDICATE;
笔记 : 首先计算from子句中的子查询,然后将计算结果存储在新的临时关系中。 接下来,计算外部查询,只从临时关系中选择满足外部查询where子句中谓词的元组。
查询
例1 : 找到所有薪水高于所有系平均预算的教授。
教练 关系:
教官 | 名称 | 部门 | 薪水 |
---|---|---|---|
44547 | 史密斯 | 计算机科学 | 95000 |
44541 | 账单 | 与电有关的 | 55000 |
47778 | 山姆 | 人文学科 | 44000 |
48147 | 埃里克 | 机动的 | 80000 |
411547 | 梅丽莎 | 信息技术 | 65000 |
48898 | 耶拿 | 公民的 | 50000 |
部门 关系:
部门名称 | 预算 |
---|---|
计算机科学 | 100000 |
电气的 | 80000 |
人文学科 | 50000 |
机动的 | 40000 |
信息技术 | 90000 |
公民的 | 60000 |
查询 :
select I.ID, I.NAME, I.DEPARTMENT, I.SALARY from (select avg(BUDGET) as averageBudget from DEPARTMENT) as BUDGET, Instructor as I where I.SALARY > BUDGET.averageBudget;
输出
教官 | 名称 | 部门 | 薪水 |
---|---|---|---|
44547 | 史密斯 | 计算机科学 | 95000 |
48147 | 埃里克 | 机动的 | 80000 |
解释 : 部门关系中所有部门的平均预算为70000。Erik和Smith是讲师关系中工资超过70000的唯一讲师,因此在输出关系中存在。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END