Oracle 查询基础与DUAL表使用

需积分: 0 0 下载量 22 浏览量 更新于2024-09-03 收藏 248KB PDF 举报
该资源是关于Oracle数据库查询的学习资料,主要介绍了Oracle SQL的基本查询操作,包括选择列、别名使用、DUAL表的用途、COUNT函数的应用以及去除重复数据的方法。 在Oracle SQL中,`SELECT * FROM emp` 用于选取emp表中的所有列。`SELECT 1+1` 在Oracle中会报错,因为它期望一个表作为查询上下文,而在MySQL中,这将返回2。为了解决这个问题,Oracle引入了DUAL表,一个虚拟的、只包含一行一列的表,如`SELECT 1+1 FROM DUAL` 就是合法的。`SELECT * FROM DUAL` 和 `SELECT 1 FROM EMP` 分别用于演示查询DUAL表和从实际表中选取单一值。 对于效率,直接指定列名(如`SELECT COUNT(1) FROM EMP`)通常比使用通配符`*`(如`SELECT COUNT(*) FROM EMP`)更高效,因为后者需要处理所有列。别名查询允许我们为列名设置友好的显示名称,例如`SELECT ename "姓名", sal "工资" FROM emp`,其中`AS`关键字可以省略,但别名如果包含特殊字符或关键字,需要使用双引号包裹。 此外,文档还提到了SQL的四大类别:DDL(数据定义语言),用于创建、修改和删除数据库对象,如`CREATE TABLE`;DML(数据操纵语言),用于插入、更新和删除数据,如`INSERT INTO`;DCL(数据控制语言),涉及权限管理,如`GRANT`和`REVOKE`;DQL(数据查询语言),包括`SELECT`语句,用于检索数据。 在处理重复数据时,`DISTINCT`关键字用于去除结果集中的重复行。`SELECT DISTINCT job FROM emp` 可以去除job列的重复值,而`SELECT DISTINCT job, deptno FROM emp` 则去除基于job和deptno两列组合的重复行。 这份资料详细介绍了Oracle SQL查询的基础知识,包括基本查询语法、DUAL表的使用、别名设定、计数函数以及去除重复数据的方法,对于初学者来说是一份很好的学习材料。