To improve query performance, caching the results of a subquery and reusing them in different parts of the query can be done to avoid redundant calculations of the same subquery during the execution of a SELECT statement.
1 2 3 4 5 6 7 8 | WITH cte_name AS ( SELECT ... FROM table_name WHERE ... ) SELECT ... FROM cte_name WHERE ... |
Parameter |
Description |
|---|---|
cte_name |
Custom subquery name |
table_name |
Name of the table where subquery commands are executed |
1 2 3 4 5 6 | WITH sales_data AS ( SELECT product_name, sales_amount FROM sales WHERE sales_amount > 100 ) SELECT * FROM sales_data; |
1 2 3 4 5 6 7 8 9 10 11 12 13 | WITH sales_data1 AS ( SELECT product_name, sales_amount FROM sales WHERE sales_amount > 100 ), sales_data2 AS ( SELECT product_name, sales_amount FROM sales WHERE sales_amount < 20 ) SELECT * FROM sales_data1 UNION ALL SELECT * FROM sales_data2; |