在 SQL 中,子查询是指在主查询中嵌套了一个或多个查询语句的查询方式。子查询可以出现在 SELECT、FROM、WHERE、HAVING 和 INSERT INTO 语句中,其中在 WHERE 条件中使用子查询是最常见和实用的情况之一。本文将详细介绍在 WHERE 条件中如何使用子查询以及其应用场景。
如何使用子查询
子查询可以被用于 WHERE 条件中,作为过滤条件使用。在 WHERE 子句中使用子查询的语法格式如下:
SELECT column1, column2, ...
FROM table_name
WHERE column_name OPERATOR (SELECT column_name FROM table_name WHERE condition);
其中,OPERATOR 是比较运算符(如 =、>、<、IN、NOT IN 等),子查询返回的结果可以是单个值、一列值或者一组结果。
应用场景
1. 子查询作为条件值
子查询可以作为条件值来筛选出符合条件的记录,例如:
-- 查询员工表中薪水高于平均薪水的员工
SELECT *
FROM employees
WHERE salary > (SELECT AVG(s