`

【转】相关子查询和非相关子查询

 
阅读更多
子查询:嵌套在其他查询中的查询称之。
子查询又称内部,而包含子查询的语句称之外部查询(又称主查询)。
所有的子查询可以分为两类,即相关子查询和非相关子查询
1>非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
2>相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。
故非相关子查询比相关子查询效率高

--非相关子查询
SELECT EMPNO, LASTNAME
    FROM EMPLOYEE
    WHERE WORKDEPT = 'A00'
     AND SALARY > (SELECT AVG(SALARY)
              FROM EMPLOYEE
              WHERE WORKDEPT = 'A00')

--相关子查询
SELECT E1.EMPNO, E1.LASTNAME, E1.WORKDEPT
    FROM EMPLOYEE E1
    WHERE SALARY > (SELECT AVG(SALARY)
              FROM EMPLOYEE E2
              WHERE E2.WORKDEPT = E1.WORKDEPT)
    ORDER BY E1.WORKDEPT
分享到:
评论

相关推荐

    MySQL数据库:相关子查询.pptx

    MySQL数据库中的相关子查询是一种高级查询技术,它在处理复杂的数据检索时非常有用。相关子查询的特点在于,其内部查询的执行与外部查询是紧密关联的,子查询的执行依赖于外部查询的某个属性值。这与嵌套子查询形成...

    面向分布式数据库的相关子查询优化策略.pdf

    根据子查询是否和外部的父查询有依赖关系,可以将子查询分为相关子查询和非相关子查询。在相关子查询中,子查询的过滤条件依赖于父查询的结果,这使得相关子查询在执行时需要反复求值,多次访问磁盘,尤其是在分布式...

    mysql子查询精炼版.pdf

    在上述文档中,主要讲解了单行子查询、多行子查询以及相关子查询和不相关子查询的用法。 1. **单行子查询**: 单行子查询返回单个值,例如`SELECT sal FROM emp WHERE job = 'clerk'`。在主查询中,可以使用`ALL`...

    第09章_子查询.docx

    * 按内查询是否被执行多次,将子查询划分为相关(或关联)子查询和不相关(或非关联)子查询。 单行子查询: * 使用单行比较操作符,如 =、>、>=、<、、。 * 代码示例:查询工资大于 149 号员工工资的员工的信息。...

    第09章_子查询3

    【子查询】是数据库SQL语言中的一个重要概念,它允许在一个查询语句中嵌套另一个查询语句,以增强查询的复杂性和灵活性。在本章中,讲师宋红康(江湖人称:康师傅)详细讲解了子查询的使用及其分类。 1. **需求分析...

    数据库应用ACCESS-05实验五SQL参数查询、子查询与数据更[归纳].pdf

    子查询可以分为两种类型:相关子查询和非相关子查询。相关子查询是指子查询的结果与主查询的结果相关,而非相关子查询是指子查询的结果与主查询的结果无关。 实验中要求使用子查询完成以下实验: 1. 查询未归还...

    Oracle数据库-- 高级子查询chinese

    通过本章学习,您将可以: 书写多列子查询 子查询对空值的处理 在 FROM 子句中使用子查询 在SQL中使用单列子查询 ...书写相关子查询 使用子查询更新和删除数据 使用 EXISTS 和 NOT EXISTS 操作符 使用 WITH 子句

    Sybase SQL Server中子查询的设计和使用.pdf

    每一类子查询按与外部查询的关系可以分为相关(重复)子查询或非相关子查询。 相关子查询由于要引用外部查询的 from 表中的列,因此不能作为独立的查询来执行,被重复执行,即对每个外部查询选定的行执行一次。 非...

    数据库的连接查询和子查询(共30张PPT)精选.pptx

    子查询可以分为两种类型:标量子查询和相关子查询。 标量子查询 标量子查询是一种返回单个值的子查询。 ```sql SELECT * FROM table1 WHERE column_name = (SELECT MAX(column_name) FROM table2); ``` 相关子查询...

    第09章_子查询1

    此外,子查询还可以按照是否与外部查询相关分为**相关子查询**和**不相关子查询**。不相关子查询仅执行一次,其结果被外部查询使用;而相关子查询可能在外部查询的每次迭代中执行,根据外部查询的当前行结果来动态...

    SQL Server 嵌套查询.pdf

    根据子查询是否依赖于外部查询,可以分为相关子查询和非相关子查询。本文主要讨论非相关子查询,这种类型的子查询可以在比较运算符后使用,不论其返回单行还是多行结果。 1. **单行子查询**: 当子查询返回单个值...

    数据库系统及原理及MYSQL应用教程多表连接和子查询实验报告

    - **不相关子查询**:子查询的结果独立于外部查询,如找出所有分数在特定范围内(如80-90)的学生。 4. **UNION运算符**:用于合并两个或更多SELECT语句的结果集,去除重复行。 5. **IN和ANY/ALL子查询**: - **...

    SQL Server嵌套查询.pdf

    嵌套查询,也被称作子查询或非相关子查询,是指在一个SELECT语句的条件部分内部执行另一个SELECT语句的情况。通过嵌套查询,我们可以构建出一系列简单查询的复杂查询,以增强SQL Server查询能力。 根据嵌套查询返回...

    数据库系统概论:第4章 关系数据库标准语言——SQL语言5.ppt

    本章节对SQL语言的基本概念和应用进行了详细的讲解,着重介绍了SELECT语句的基本格式、嵌套查询的概念和应用、不相关子查询和相关子查询的特点和应用等内容,为读者提供了深入了解SQL语言的理论基础和实践应用。

    《数据库原理》实验7(嵌套查询).doc

    在嵌套查询中,有两种类型的子查询:相关子查询和不相关子查询。相关子查询的查询条件依赖于外层父查询的某个属性值,而不相关子查询的查询条件不依赖于外层父查询的属性值。 知识点4:使用嵌套查询实现复杂查询 ...

    MySQL数据库:嵌套子查询一.pptx

    - 子查询分为嵌套子查询和相关子查询。嵌套子查询,也称为不相关子查询,其执行不依赖于外部查询,它先运行并提供一个结果给外部查询使用。 5. **嵌套子查询的应用示例**: - 假设我们有一个Book表,要找出与...

    (源码)基于C++的CatDB数据库管理系统.zip

    它支持基本的SQL操作(如INSERT、DELETE、UPDATE、SELECT),并支持多层嵌套子查询,包括相关子查询和非相关子查询。优化器部分支持N、A、J、JA四种子查询改写,以提高子查询的效率。接口驱动使用MySQL 5.0的TEXT...

    第三章SQL数据查询嵌套查询优秀文档.ppt

    嵌套查询有很多种形式,包括相关子查询和不相关子查询。相关子查询是指子查询的查询条件依赖于父查询,而不相关子查询是指子查询的查询条件不依赖于父查询。 例如,下面是一个相关子查询的示例: SELECT Sname ...

    多表查询-相关子查询-SCD-答案[文].pdf

    以上就是对给定数据库SCD的相关子查询操作的解析,通过这些例子,我们可以更好地理解和运用SQL中的JOIN和子查询来处理多表查询问题。对于软件开发人员来说,掌握这些查询技巧对于设计和优化数据库查询至关重要。

    SQL数据的查询和更新实验报告报告.pdf

    - **不相关子查询**:子查询独立于外部查询,只执行一次 - **谓词子查询**: - **IN, NOT IN**:比较子查询结果中的值 - **比较运算符子查询**:如`<, >, , >=, =, !=` - **SOME, ANY, ALL**:比较子查询结果中的...

Global site tag (gtag.js) - Google Analytics