数据库嵌套查询详解与示例

需积分: 9 5 下载量 116 浏览量 更新于2024-08-23 收藏 583KB PPT 举报
"嵌套查询-数据库实用教程(第三版)" 本文主要讲解了数据库中的嵌套查询技术,包括嵌套子查询和相关子查询。嵌套子查询是指子查询的执行不依赖于外部查询的值,而相关子查询则相反,其查询条件会根据外部查询的值来确定。在SQL中,子查询可以与各种运算符结合使用,例如: 1. **带有谓词IN的子查询**:这种查询常用于寻找满足特定条件的值列表。例如,要找出供应工程J1且零件颜色为红色的供应商号,或者查询由上海供应商提供的红色零件的上海地区工程项目名称。 2. **带有比较运算符的子查询**:当用户知道子查询将返回一个单一值时,可以使用比较运算符(如>,<,=)。比如查询单价高于平均值的零件名称。 3. **带有谓词ANY和ALL的比较子查询**:ANY用于找到满足至少一个子查询结果的条件,而ALL则确保所有子查询结果都满足条件。例如,查询最贵的零件单价或数量最多且单价最小的零件编号。 4. **带有谓词EXISTS的子查询**:此类子查询主要用于检查子查询是否返回结果,返回的结果是逻辑值(TRUE或FALSE)。举例来说,查询不使用编号为P3零件的工程编号和名称,或者查找使用了全部零件的工程名称,以及至少用了供应商S1供应的所有零件的工程号。 在数据库管理技术的历史发展中,经历了三个主要阶段: 1. **人工管理阶段**:早期的计算机主要用于科学计算,数据不保存在计算机内,没有专门的软件进行数据管理,数据不共享,不具有独立性。 2. **文件系统阶段**:随着直接存贮器的出现,数据开始以文件形式长期保存,出现了操作系统中的文件系统。但这个阶段存在数据冗余、不一致性和弱联系的问题。 3. **数据库系统阶段**:自20世纪60年代后期开始,数据库技术兴起,引入了数据库管理系统(DBMS),实现了数据的高共享性和独立性,降低了冗余度,并提供了用户友好的接口。这一阶段的重要里程碑包括层次数据库(如IBM的IMS)、网状数据库(DBTG报告)和关系数据库(E.F.Codd的文章)的出现。 数据库系统的关键术语包括数据库(DB)、数据库管理系统(DBMS)、数据库技术(DBT)和数据库系统(DBS)。随着技术的发展,还出现了分布式数据库技术、面向对象数据库技术、并行数据库技术和新型数据库技术,如数据仓库技术等。 在数据库的设计过程中,概念设计阶段会涉及到实体和属性的概念。实体是指客观存在的、可相互区分的事物,而属性则是实体的特性或特征。这些概念在逻辑设计中用于构建数据库的结构,确保数据的有效组织和管理。