Oracle笔记:SQL基础与部门查询详解

需积分: 0 1 下载量 148 浏览量 更新于2024-09-13 收藏 37KB DOC 举报
Oracle笔记是针对初学者的一份实用教程,主要讲解了Oracle数据库的基础知识和关键操作。以下是笔记中涉及的主要知识点: 1. **SQL Select语句顺序**: - `SELECT`语句用于数据检索,首先应明确选择哪些列(`select……from……`)。 - `WHERE`子句用于过滤满足条件的行,这是在`FROM`之后添加的。 - 接下来,如果需要对结果进行分组,应使用`GROUP BY`,以便对数据进行聚合计算。 - `HAVING`子句是在`GROUP BY`后,对分组后的数据进行进一步筛选,通常与聚合函数(如`SUM`, `COUNT`, `MAX`, `MIN`, `AVG`, `DISTINCT`)一起使用。 - 数据的排序使用`ORDER BY`,可以按照列值或特定表达式排列结果。 2. **组函数的使用**: - Oracle支持多种组函数,如`SUM`用于求和,`COUNT`计算数量,`MAX`找最大值,`MIN`找最小值,`AVG`求平均值,`DISTINCT`用于去除重复值。 - 注意,分组函数只能放在选择列表、`HAVING`或`ORDER BY`中,且当有列、表达式和分组函数同时存在时,至少有一个必须出现在`GROUP BY`中。 3. **表连接与子查询**: - Oracle支持表连接,通过将一张表作为多个虚拟表使用,如自连接,用于处理多表查询。 - 子查询分为单行和多行,单行子查询返回一行结果,多行子查询返回多行。`DISTINCT`在某些场景下用来去除重复数据,但在某些情况下,如主键标识唯一性时,使用`DISTINCT`可能并无实际意义。 4. **Oracle序列**: - 序列是Oracle数据库中的一个对象,用于生成唯一的递增数字,但不支持事务操作。 - 创建序列的语法包括序列名、起始值等,但序列生成的值不会重复。 5. **分页查询**: - 使用`ROWNUM`关键字实现分页,例如通过`SELECT * FROM emp WHERE ROWNUM <= <limit>`。 - 在实际查询中,可以通过调整子查询的列选择和排序来定制分页需求,如指定列、指定排序方式(如按`ROWID`效率高,或者使用分析函数)。 - 对于emp表和dept表,示例练习展示了如何利用这些功能获取特定信息,如所有有员工的部门、薪金超过Smith的员工,以及员工与其直接上级的关联。 通过这份Oracle笔记,初学者可以掌握基本的SQL查询技巧、分组和聚合、表连接及子查询,以及序列和分页查询的运用。这将有助于理解和操作Oracle数据库,满足日常开发和数据分析的需求。