SQL子查询是数据库查询语言(SQL)中的一个强大功能,它允许用户在查询中使用查询结果。以下是一些关于SQL子查询的基础知识和用法。

什么是SQL子查询?

SQL子查询是一个查询,它嵌套在其他查询的SELECT、FROM或WHERE子句中。子查询可以返回一个结果集,这个结果集可以被外层查询使用。

子查询的类型

  1. SELECT子查询:返回一个结果集,并用于外层查询的SELECT语句中。
  2. FROM子查询:返回一个临时表,并作为外层查询的FROM子句中的表。
  3. WHERE子查询:在WHERE子句中用于筛选行。

示例

假设我们有一个名为employees的表,其中包含员工的信息,以及一个名为departments的表,其中包含部门的信息。

SELECT e.name, e.department_id
FROM employees e
WHERE e.department_id IN (
    SELECT d.id
    FROM departments d
    WHERE d.name = 'Sales'
);

在这个例子中,子查询返回departments表中名称为'Sales'的部门的ID,然后外层查询使用这个结果集来获取所有在'Sales'部门的员工的名字和部门ID。

扩展阅读

如果你想要了解更多关于SQL子查询的信息,可以阅读本站关于SQL子查询的详细指南

SQL查询示例