尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SQL子查询实战:相关子查询vs非相关子查询,用法解析

SQL子查询实战:相关子查询vs非相关子查询,用法解析
📅 发布时间:2026/7/15 13:18:22

前言

子查询是SQL进阶的核心,简单说就是SQL中嵌套SQL。日常开发中,复杂筛选、批量匹配、嵌套统计都需要用到子查询。

很多新手只会写简单子查询,分不清相关子查询和非相关子查询的区别,不知道什么时候用哪种,导致代码冗余、性能低下。


一、子查询基础概念

外层SQL:父查询;括号内嵌套的SQL:子查询。

分类核心依据:子查询是否依赖父查询的字段。

不依赖 = 非相关子查询(独立执行);依赖 = 相关子查询(逐行执行)。


二、非相关子查询(独立子查询)

核心特点

子查询完全独立,不引用父查询的任何字段,只会执行一次,执行效率高。

常用场景

固定条件筛选、批量匹配、获取统计值、IN / EXISTS 固定值匹配。

实战案例

-- 案例:查询有订单的所有用户(非相关子查询) SELECT * FROM user WHERE id IN (SELECT DISTINCT user_id FROM `order`);

解析:子查询单独执行,查询出所有有订单的用户ID,再给父查询筛选,子查询只执行1次。


三、相关子查询(关联子查询)

核心特点

子查询依赖父查询字段,无法独立运行,会随着父查询的每一行数据逐行循环执行,数据量大时性能较差。

常用场景

逐行匹配统计、单行数据校验、复杂行级筛选。

实战案例

-- 案例:查询每个用户的订单数量大于0的用户 SELECT * FROM user u WHERE EXISTS ( SELECT 1 FROM `order` o WHERE o.user_id = u.id );

解析:子查询引用了父查询的 u.id 字段,依赖父查询,父查询每遍历一行,子查询执行一次。


四、两种子查询核心区别对比

对比维度

非相关子查询

相关子查询

执行依赖

独立执行,不依赖父查询

依赖父查询字段,无法独立运行

执行次数

仅执行1次

父查询多少行,执行多少次

执行性能

高,推荐优先使用

低,大数据量慎用


五、子查询开发规范与优化

1、优先使用非相关子查询,尽量避免循环执行的相关子查询;

2、大数据量场景,相关子查询可改写为 LEFT JOIN 关联查询,大幅提升性能;

3、子查询尽量返回固定字段,禁止 SELECT *,减少数据传输开销。

相关新闻

  • 武汉百达翡丽中国官方售后服务网络全攻略 | 官方网站权威认证(2026 年 7 月最新) - 百达翡丽售后服务官网
  • 三步实现Windows与Office高效激活:KMS_VL_ALL_AIO智能脚本完全指南
  • Python零基础入门:从环境配置到简单爬虫实战指南

最新新闻

  • Electrode Native性能优化实战:让你的混合应用运行如原生般流畅
  • 哈尔滨积家中国官方售后服务体系全攻略 | 官方服务地址及客服热线权威公布(2026 年 7 月最新) - 积家中国服务中心
  • 如何使用Jido构建智能文档解析与分类代理:完整指南
  • 神经科学研究“卡脖子”难题有新解:武汉云克隆推出大鼠小脑颗粒细胞原代产品
  • DLPA1000电源管理与LED驱动:嵌入式投影系统稳定性的核心保障
  • AI TreasureBox深度解析:如何利用自动化收集的1000+AI资源提升开发效率

日新闻

  • 告别启动盘残留:用Diskpart彻底清除U盘EFI分区与恢复完整空间
  • 2026 年宜春诚信的塑料缠绕膜厂家哪个好,缠绕膜背后的秘密:你不知道的成本陷阱 - 领域鉴赏官
  • Arch ECS 入门指南:10分钟掌握C#高性能数据驱动架构

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号