SQL查询:FROM语句中的子查询与数据库体系结构

需积分: 26 2 下载量 174 浏览量 更新于2024-08-23 收藏 802KB PPT 举报
本文主要介绍了在SQL中如何在FROM语句中使用子查询来执行复杂的数据库操作,同时涉及SQL语言的概述、发展历程、体系结构及其功能。 在SQL查询语句中,子查询是一种强大的工具,它允许你在主查询内部嵌套另一个查询。在FROM子句中使用子查询,你可以对查询的结果集进行进一步处理,如同创建了一个临时的虚拟表。例如,题目中给出的查询示例是用于找出平均成绩超过80分的学生的学号和平均成绩。这个例子展示了如何构造子查询并将其作为一个源表(RA)来使用。 首先,子查询 `(SELECT S#, AVG(ALL G) FROM SC GROUP BY S#)` 计算了每个学生的平均成绩,并按学号分组。`AVG(ALL G)` 函数计算所有成绩的平均值。`AS RA(S#, AVG_G)` 是对子查询结果的别名定义,将结果集命名为RA,其中包含两个字段:S#(学号)和AVG_G(平均成绩)。 接着,主查询 `SELECT S#, AVG_G FROM RA WHERE AVG_G > 80` 使用这个名为RA的虚拟表,并应用WHERE子句来过滤出平均成绩大于80分的学生记录。这是使用子查询的一个典型用例,它使得我们可以在一个查询中处理多个数据层次,提高了查询的灵活性和复杂性。 SQL语言是关系数据库的标准语言,始于1974年,经过多个版本的发展,如SQL-86, SQL-89, SQL-92 (SQL2), SQL-99 (SQL3),目前大多数数据库管理系统(DBMS)都支持SQL。SQL数据库的体系结构包括外模式、模式和内模式三层,用户可以通过SQL与视图和基本表进行交互,视图是基于基本表的逻辑表示,不直接存储数据,而基本表则对应实际存储在数据库中的文件。 SQL的主要功能包括查询(SELECT)、更新(UPDATE)、插入(INSERT)、删除(DELETE)、数据定义(DDL,Data Definition Language,如CREATE TABLE)和数据控制(DCL,Data Control Language,如GRANT和REVOKE)。此外,SQL还支持视图的创建和管理,以及嵌入式SQL的使用,使得在其他编程语言中也能调用SQL语句操作数据库。 总结来说,FROM语句中的子查询是SQL查询中的一个重要组成部分,它允许我们对数据进行更复杂的分析和过滤,而SQL作为数据库的标准语言,其强大的功能和广泛的支持使其在数据处理领域不可或缺。通过深入理解和熟练运用子查询,我们可以更高效地从数据库中提取所需信息。