温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nested Query 是什么

发布时间:2026-09-22 15:16:58 来源:亿速云 阅读:90 作者:小樊 栏目:数据库

Nested Query(嵌套查询),通常指在一个 SQL 查询中嵌套另一个查询,也叫子查询(Subquery)

基本定义

嵌套查询是指:一个 SELECT 语句写在另一个 SQL 语句内部,作为条件、数据源或计算部分使用。

外层查询叫 外部查询(Outer Query)
内层查询叫 子查询(Subquery)


常见形式

1️⃣ 子查询在 WHERE 中(最常见)

SELECT name
FROM students
WHERE age > (
    SELECT AVG(age)
    FROM students
);

含义:查询年龄大于平均年龄的学生。


2️⃣ 子查询在 FROM 中(派生表)

SELECT dept, avg_salary
FROM (
    SELECT dept, AVG(salary) AS avg_salary
    FROM employees
    GROUP BY dept
) AS t;

3️⃣ 子查询在 SELECT 中

SELECT name,
       (SELECT COUNT(*) FROM orders o WHERE o.customer_id = c.id) AS order_count
FROM customers c;

4️⃣ 关联子查询(Correlated Subquery)

子查询依赖外部查询的值:

SELECT name
FROM employees e1
WHERE salary > (
    SELECT AVG(salary)
    FROM employees e2
    WHERE e2.dept = e1.dept
);

Nested Query vs Join

  • Nested Query:逻辑清晰,适合条件判断
  • JOIN:通常性能更好,适合多表关联

很多嵌套查询可以改写成 JOIN。


小结

✅ Nested Query = 查询里套查询
✅ 常用于过滤、计算、派生数据
✅ 在数据库、数据分析中非常常见

如果你是想问 Elasticsearch 的 nested query,或者某种编程语言里的 nested query,也可以告诉我。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI