Skip to main content

Module subquery

Module subquery 

Source
Expand description

Subquery merging and unnesting Subquery Operations Module

This module provides functionality for optimizing subqueries:

  • Merging derived tables into outer queries
  • Eliminating subqueries by converting to CTEs
  • Unnesting correlated subqueries

Ported from sqlglot’s optimizer/merge_subqueries.py, eliminate_subqueries.py, and unnest_subqueries.py

Functions§

eliminate_subqueries
Eliminate derived tables by converting them to CTEs.
is_correlated
Check if a subquery is correlated (references outer query tables)
is_mergeable
Check if an inner select can be merged into an outer query
merge_subqueries
Merge derived tables into outer queries.
unnest_subqueries
Unnest correlated subqueries where possible.