在 SQL 中,EXISTS 子句用于檢查一個子查詢是否返回至少一行數據
當 EXISTS 子句遇到 NULL 值時,其行為與其他聚合函數和比較運算符略有不同。在 EXISTS 子句中,NULL 值不會影響結果。換句話說,NULL 值不會導致 EXISTS 子句返回 FALSE。
以下是一個使用 EXISTS 子句的示例:
SELECT * FROM employees e
WHERE EXISTS (
SELECT 1 FROM departments d
WHERE d.department_id = e.department_id
);
在這個示例中,我們從 employees 表中選擇所有記錄,但只要滿足以下條件之一:在 departments 表中存在與 employees 表中 department_id 相匹配的記錄。
如果子查詢返回 NULL 值,EXISTS 子句將忽略這些值并繼續檢查其他行。因此,在處理 NULL 值的情況時,EXISTS 子句的行為與其他聚合函數和比較運算符略有不同。