Skip to content
Related Articles

Related Articles

SQL | Sub queries in From Clause

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 11 Apr, 2022

From clause can be used to specify a sub-query expression in SQL. The relation produced by the sub-query is then used as a new relation on which the outer query is applied. 

  • Sub queries in the from clause are supported by most of the SQL implementations.
  • The correlation variables from the relations in from clause cannot be used in the sub-queries in the from clause.



SELECT column1, column2 FROM 
(SELECT column_x  as C1, column_y FROM table WHERE PREDICATE_X)
as table2, table1

Note: The sub-query in the from clause is evaluated first and then the results of evaluation are stored in a new temporary relation. 
Next, the outer query is evaluated, selecting only those tuples from the temporary relation that satisfies the predicate in the where clause of the outer query. 



Example 1: Find all professors whose salary is greater than the average budget of all the departments. 

Instructor relation: 

InstructorID Name Department Salary
44547 Smith Computer Science 95000
44541 Bill Electrical 55000
47778 Sam Humanities 44000
48147 Erik Mechanical 80000
411547 Melisa Information Technology 65000
48898 Jena Civil 50000

Department relation: 

Department Name Budget
Computer Science 100000
Electrical 80000
Humanities 50000
Mechanical 40000
Information Technology 90000
Civil 60000


(select avg(BUDGET) as averageBudget from DEPARTMENT) as BUDGET, Instructor as I
where I.SALARY > BUDGET.averageBudget;


InstructorID Name Department Salary
44547 Smith Computer Science 95000
48147 Erik Mechanical 80000

Explanation: The average budget of all departments from the department relation is 70000. Erik and Smith are the only instructors in the instructor relation whose salary is more than 70000 and therefore are present in the output relation. 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!