"这份文档包含了Oracle数据库相关的SQL作业参考答案,涵盖了从基础的查询到复杂的分组函数和分组查询的应用。" 在SQL语言中,Oracle数据库是广泛使用的数据库管理系统,它提供了丰富的功能来处理数据。以下是文件中提及的一些关键知识点: 1. 基本查询: - `SELECT dname FROM dept;` 这是一个简单的查询,用于从`dept`表中选择所有的部门名称(`dname`)。 - `SELECT ename, 12 * (sal + nvl(comm, 0)) 年收入 FROM emp;` 这个查询显示员工的名字(`ename`)和他们的年薪(包括佣金,如果有的话)。`nvl`函数用来处理可能的空值(`NULL`),如果佣金(`comm`)为空,则使用0。 2. 选择特定条件的数据: - `SELECT DISTINCT deptno FROM emp;` 使用`DISTINCT`关键字去除重复的部门编号。 - `SELECT ename, sal FROM emp WHERE sal > 2850;` 过滤出薪水高于2850的员工。 - `SELECT ename, sal FROM emp WHERE sal NOT BETWEEN 1500 AND 2850;` 查询薪水不在这两个值之间的员工。 - `SELECT ename, deptno FROM emp WHERE empno = 7566;` 通过员工编号(`empno`)查找特定员工。 3. 使用逻辑操作符: - `SELECT ename, sal FROM emp WHERE deptno IN (10, 30) AND sal > 1500;` 结合`IN`操作符和`AND`逻辑,找到属于特定部门且薪水超过1500的员工。 4. 字符串匹配与空值处理: - `SELECT ename, sal FROM emp WHERE ename LIKE '_A%';` 使用`LIKE`操作符匹配以_A开头的员工名字。 - `SELECT ename, comm FROM emp WHERE comm IS NOT NULL;` 查找有佣金的员工。 5. 排序与分组: - `SELECT ename, sal, hiredate FROM emp ORDER BY ename;` 按照员工名字(`ename`)对结果进行升序排序。 - `SELECT ename, job, hiredate FROM emp WHERE hiredate BETWEEN '01-02-81' AND '01-05-81' ORDER BY hiredate;` 找出在特定日期范围入职的员工并按入职日期排序。 6. 分组函数和分组查询: - `SELECT avg(sal), sum(sal), max(sal), min(sal) FROM emp;` 使用分组函数计算所有员工的平均薪资、总薪资、最高薪资和最低薪资。 - `SELECT job, count(*), avg(sal) FROM emp GROUP BY job;` 按工作类型(`job`)分组,统计每种工作的员工数量和平均薪资。 - `SELECT count(*), count(comm) FROM emp;` 计算总员工数和有佣金的员工数。 - `SELECT count(DISTINCT mgr) FROM emp;` 统计不同经理的数量,`DISTINCT`确保每个经理只被计算一次。 此外,文件还展示了如何设置SQL*Plus的输出格式,例如标题、行大小、页面大小和列格式,这对于在终端或报告中呈现数据非常有用。 通过这些例子,我们可以看到SQL语言在查询和分析Oracle数据库中的数据时的灵活性和强大功能。掌握这些基础知识对于任何希望在数据库管理或数据分析领域工作的人来说都是至关重要的。
剩余11页未读,继续阅读
- 粉丝: 244
- 资源: 22
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解