A correlated subquery (CS) is a subquery whose outer query results are processed a row at a time, against the subquery result. The subquery result is computed for each row processed. The following are advantages of subqueries:
- Helps in eliminating the need for intermediate or temporary tables. Reduces user temp space and spool.
- Helps in minimizing joining costs.
- If used effectively, is significantly faster than the query using temporary tables.
Now, let's understand the workings of different types of queries in Teradata from the figure:
Ordinary Sub Query: In this case, the inner query is executed only once, and the output of the inner query is used by the outer query. The inner query is not dependent on the outer query:
/*Sub query*/
SELECT
Column1, Column2 FROM
Table1
WHERE Column1 IN (SELECT Column1 FROM Table1);
Correlated Sub Query...