SQL中相关子查询和非相关子查询的区别


SQL 查询用于从数据库中提取数据。在某些情况下,您可能需要一些前提数据来调用后续的 SQL 查询以从表中提取数据,因此,与其编写两个单独的查询,不如在一个查询中编写 SQL 查询。因此,子查询是一种将它们组合或连接到单个查询中的方法。子查询可以分为两种类型:

  • 相关子查询 - 在相关子查询中,内部查询依赖于外部查询。外部查询需要在内部查询之前执行。
  • 非相关子查询 - 在非相关子查询中,内部查询不依赖于外部查询。它们都可以单独运行。
序号关键点相关子查询非相关子查询

1

基础

在相关子查询中,内部查询依赖于外部查询

在非相关子查询中,内部查询不依赖于外部查询

2

IN 和 NOT IN 语句


它不使用 IN 和 NOT IN 语句

非相关子查询与 IN 和 NOT IN 语句一起使用

3

单独运行

内部查询不能单独运行

内部查询不能单独运行,并且它不依赖于外部查询


4

性能

相关子查询是较慢的查询

它们比相关子查询快


更新于:2020年1月21日

9K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告