SQL基础教程:从多个表中获取数据

需积分: 11 2 下载量 177 浏览量 更新于2024-08-15 收藏 5.23MB PPT 举报
"第四部分-SQL语言基础 - 从多个表中获取数据" SQL语言是用于管理和操作关系数据库的标准语言,它的全称为结构化查询语言。SQL的起源可以追溯到20世纪70年代后期,由IBM的San Jose实验室开发,旨在提供一种非过程化的语言,使得构建和操作关系数据库变得更加便捷。 在数据库的历史中,数据库的用途逐渐广泛,从简单的数据存储到复杂的业务系统支持。关系型数据库模型的提出,特别是在1970年E.F. Codd博士提出的12条准则,奠定了现代关系数据库的基础。这些准则强调用集合论的方法来组织数据库系统,使得SQL成为访问和操作这些数据库的通用语言。 在SQL中,基本的查询语句是SELECT,用于从一个或多个表中提取所需的数据。SELECT语句的基本结构是:`SELECT {*, column[alias], ...} FROM table;` 其中,`*` 表示选择所有列,`column` 是要选择的特定列,`alias` 可用于给列指定别名,`FROM` 关键字后跟着数据来源的表名。 SELECT语句的两个主要功能是“选择”和“投影”。选择指的是确定从哪个表中选取数据,而投影则是指选取哪些列。在实际应用中,我们可以通过指定列名来选择特定的列,或者使用 `*` 来选取所有列。例如: ```sql SELECT DEPTNO, DNAME, LOC FROM DEPT; ``` SQL语句的书写并不区分大小写,但为了提高可读性,通常建议将关键字大写,列名和其他元素小写。语句可以写在一行或多行,关键是要保持语句的完整性和逻辑清晰,避免关键字的缩写,并且用适当的缩进增加可读性。 在从多个表中获取数据时,我们需要使用到连接(JOIN)操作。连接允许我们合并来自两个或更多表的数据,基于它们之间的关联条件。例如,如果有一个员工表(EMP)和部门表(DEPT),我们可以使用INNER JOIN来找出每个员工所在的部门: ```sql SELECT EMP.ENAME, DEPT.DNAME FROM EMP INNER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; ``` 此外,SQL还提供了对数据进行限定(WHERE子句)、排序(ORDER BY子句)、分组(GROUP BY子句)和聚合(使用聚合函数如SUM, AVG, COUNT等)的功能,以及子查询来嵌套查询,实现更复杂的数据操作。数据操纵语言(DML)包括INSERT, UPDATE, DELETE语句,用于添加、修改和删除数据。最后,CREATE TABLE和ALTER TABLE等语句用于创建和管理数据库中的表结构。 SQL语言基础涵盖了各种用于数据查询、操作和管理的语句,是理解和操作关系数据库的关键工具。通过熟练掌握SQL,你可以有效地从大量数据中提取有价值的信息,支持业务决策和数据分析工作。