梗概

  • 相关子查询的反面
  • 先做内层查询,再做外层查询
    • 所以不相关子查询不能引用外层from产生的临时表
      • 因为执行子查询的时候还没执行外层from
      • 可以用with语句把某个子表放在最先执行

代码示例

  • 以下是一个简单的不相关子查询的代码示例:
SELECT employee_id, first_name, last_name
FROM employees
WHERE department_id IN (
    SELECT department_id
    FROM departments
    WHERE location_id = 1700
);

在这个例子中,内层查询 SELECT department_id FROM departments WHERE location_id = 1700 是一个不相关子查询。它首先被执行,然后其结果被用于外层查询的过滤条件。