Oracle数据库查询精华:99条实用SQL语句

需积分: 9 6 下载量 159 浏览量 更新于2024-09-13 收藏 78KB DOC 举报
"这篇文档包含了99条Oracle数据库的常用查询语句,涵盖了基础查询、数据筛选、条件组合以及特定情况下的数据展示等多方面内容。这些查询语句旨在帮助用户更好地理解和操作Oracle数据库中的数据。" Oracle数据库是全球广泛使用的数据库管理系统之一,其SQL查询语言是数据操作的核心。以下是对部分查询语句的详细解释: 1. `SELECT * FROM emp;` - 这是最基础的查询语句,用于获取表`emp`中的所有列和行。 2. `SELECT empno, ename, job FROM emp;` - 选择特定列`empno`, `ename`, `job`进行查询,而非所有列。 3. `SELECT empno 编号, ename 姓名, job 工作 FROM emp;` - 在查询结果中为列指定别名,使输出更易读。 4. `SELECT job FROM emp;` - 查询特定列`job`的所有值。 5. `SELECT DISTINCT job FROM emp;` - 消除`job`列中的重复值,返回唯一的工作类型。 6. `SELECT DISTINCT empno, job FROM emp;` - 对多个列执行DISTINCT操作,确保每行都是唯一的`empno`和`job`组合。 7. 自定义格式化输出:`SELECT '编号是:' || empno || '的雇员,姓名是:' || ename || ',工作是:' || job FROM emp;` - 使用字符串连接操作符`||`构造自定义格式的输出。 8. 计算年薪:`SELECT ename, sal * 12 AS income FROM emp;` - 将工资乘以12得到年薪,并通过AS关键字给计算结果指定别名`income`。 9. 筛选工资大于1500的雇员:`SELECT * FROM emp WHERE sal > 1500;` - 使用WHERE子句过滤条件。 10. 查找有奖金的雇员:`SELECT * FROM emp WHERE comm IS NOT NULL;` - 验证佣金(comm)字段是否非空。 11. 查找无奖金的雇员:`SELECT * FROM emp WHERE comm IS NULL;` - 相反地,查找佣金为空的记录。 12. 同时满足两个条件的查询:`SELECT * FROM emp WHERE sal > 1500 AND comm IS NOT NULL;` - 使用AND运算符组合多个条件。 13. 或条件查询:`SELECT * FROM emp WHERE sal > 1500 OR comm IS NOT NULL;` - 使用OR运算符选择满足任一条件的记录。 14. 非条件查询:`SELECT * FROM emp WHERE NOT (sal > 1500 AND comm IS NOT NULL);` - 使用NOT运算符取反条件。 15. 范围查询:`SELECT * FROM emp WHERE sal > 1500 AND sal < 3000;` - 查询工资在1500到3000之间(不包含边界)的雇员。 16. 区间查询:`SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000;` - 简洁地表示工资在1500到3000之间(包含边界)的雇员。 17. 时间条件查询:`SELECT * FROM emp WHERE hiredate BETWEEN DATE '1981-01-01' AND DATE '1981-12-31';` - 用于查询在特定时间范围内的雇佣记录。 以上示例展示了Oracle SQL的基本用法,包括基础查询、数据过滤、条件组合以及格式化输出。通过掌握这些,用户可以有效地在Oracle数据库中检索和处理信息。其他未列出的查询语句可能涉及更复杂的联接、聚合函数、排序、分组等操作,是进阶查询的重要组成部分。