EXISTS 是 SQL 中一个非常有用的关键字,用于检查子查询是否返回任何行。它通常用于验证两个表之间是否存在关联数据。
SELECT column_name(s)
FROM table1
WHERE EXISTS (SELECT column_name FROM table2 WHERE condition);
SELECT customer_name
FROM customers
WHERE EXISTS (
SELECT 1
FROM orders
WHERE orders.customer_id = customers.customer_id
);
SELECT product_name
FROM products
WHERE EXISTS (
SELECT 1
FROM inventory
WHERE inventory.product_id = products.product_id
AND inventory.quantity > 0
);
检查表中不存在的记录:
SELECT employee_name
FROM employees
WHERE NOT EXISTS (
SELECT 1
FROM terminated_employees
WHERE terminated_employees.employee_id = employees.employee_id
);
EXISTS 是一个强大的工具,特别适合处理复杂的关联检查,合理使用可以显著提高查询效率。