Oracle SQL笔记:查询、函数与多表操作

需积分: 9 8 下载量 172 浏览量 更新于2024-09-18 收藏 466KB PDF 举报
"Oracle SQL笔记" 这篇Oracle SQL笔记涵盖了SQL的基础知识和Oracle数据库的特定功能,由郭大喜在2009年至2010年间不断更新完善。笔记分为多个部分,逐步深入介绍了SQL的核心概念。 1. **SQL介绍**: SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。它允许用户创建、查询、更新和管理数据库中的数据。 2. **SQLPlus访问数据库命令**: SQLPlus是Oracle提供的一个命令行工具,用于本地和远程访问数据库。用户可以通过这个工具执行SQL命令和PL/SQL程序。 3. **SELECT查询语句**: SELECT语句是SQL中最基础也是最重要的部分,用于从数据库中检索数据。它可以包含多种元素,如选择列、WHERE子句、ORDER BY子句等。 4. **函数**: Oracle支持多种类型的函数,包括: - **空值处理**:Oracle中的NULL值有特殊含义,需要特别处理。 - **DISTINCT关键字**:用于去除查询结果中的重复行。 - **COLUMN命令**:这是一个SQLPlus命令,用于格式化输出列。 - **WHERE子句**:用于指定查询条件。 - **ORDER BY子句**:用于对查询结果进行排序。 5. **Oracle数据库函数**: - **单行函数**:包括字符函数、数值函数、日期函数、数据类型转换函数和嵌套函数。 - **NVL函数**:用于处理空值,如果表达式的结果为NULL,则返回第二个参数的值。 6. **多表查询**: - **等值连接**、**非等值连接**、**自连接**和**外连接**是多表查询的基本方式,它们通过JOIN操作将两个或更多表的数据结合在一起。 7. **组函数**: - **GROUP BY**:用于对数据进行分组。 - **HAVING子句**:在聚合后对组进行过滤,与WHERE子句作用不同。 8. **子查询**: - **关联子查询**:子查询与外部查询有直接关联。 - **EXISTS**:检查子查询是否存在至少一条匹配的记录。 - **NOT EXISTS**:检查子查询不存在匹配的记录。 - **EXISTS vs IN**:两者都是用于比较子查询,但使用场景和性能表现各有特点。 9. **数据库设计**: - **ER图(实体关系图)**:是数据库设计中用于表示实体、属性和关系的图形工具。 - **范式**:数据库设计遵循的一系列规范化原则,以减少数据冗余和提高数据一致性。 10. **约束**: - 约束是定义在表上的规则,确保数据的完整性和一致性。 - **约束的应用**:包括一对一、一对多和多对多的关系,这些关系在数据库设计中通过不同的约束实现。 笔记的作者通过多次修订,逐步添加了新的内容,使笔记更加丰富和完善,是学习和参考Oracle SQL的宝贵资料。