使用函数进行去相关处理。具体方法可以通过将相关子查询中的表引用替换为关联函数的调用来实现去相关化。例如,下面的查询中的相关子查询无法被解析,因为它引用了外部表:
SELECT * FROM orders WHERE order_date >= (SELECT MIN(order_date) FROM customers WHERE customers.customer_id = orders.customer_id)
为了解决这个问题,可以使用一个LEFT OUTER JOIN并在JOIN子句中使用MIN函数来替换相关子查询:
SELECT orders.* FROM orders LEFT OUTER JOIN customers ON orders.customer_id = customers.customer_id WHERE orders.order_date >= (SELECT MIN(customers.order_date) FROM customers)