SQL中相关子查询和非相关子查询的区别
SQL 查询用于从数据库中提取数据。在某些情况下,您可能需要一些前提数据来调用后续的 SQL 查询以从表中提取数据,因此,与其编写两个单独的查询,不如在一个查询中编写 SQL 查询。因此,子查询是一种将它们组合或连接到单个查询中的方法。子查询可以分为两种类型:
- 相关子查询 - 在相关子查询中,内部查询依赖于外部查询。外部查询需要在内部查询之前执行。
- 非相关子查询 - 在非相关子查询中,内部查询不依赖于外部查询。它们都可以单独运行。
序号 | 关键点 | 相关子查询 | 非相关子查询 |
---|---|---|---|
1 | 基础 | 在相关子查询中,内部查询依赖于外部查询 | 在非相关子查询中,内部查询不依赖于外部查询 |
2 | IN 和 NOT IN 语句 | 它不使用 IN 和 NOT IN 语句 | 非相关子查询与 IN 和 NOT IN 语句一起使用 |
3 | 单独运行 | 内部查询不能单独运行 | 内部查询不能单独运行,并且它不依赖于外部查询 |
4 | 性能 | 相关子查询是较慢的查询 | 它们比相关子查询快 |
广告