Oracle查询语句实践:从基础到进阶

需积分: 0 0 下载量 122 浏览量 更新于2024-09-16 收藏 112KB PDF 举报
"Oracle SQL练习" Oracle SQL是用于管理和操作Oracle数据库的强大语言,对于新手来说,掌握基本的查询和复杂联接语句至关重要。以下是一系列逐步进阶的练习,旨在帮助你熟悉Oracle SQL的使用: 1. 查询工资大于1600的员工姓名和工资 这个简单的SELECT语句展示了如何根据特定条件(如工资大于1600)筛选数据。`WHERE`子句在这里起到了关键作用。 2. 查询员工号为7369的员工的姓名和部门号码 这个查询演示了如何通过精确匹配指定字段值(如`empno`等于7369)来获取特定记录。 3. 选择工资不在4000到5000之间的员工姓名和工资 `BETWEEN`运算符用于选取在两个值之间的数据,`NOT BETWEEN`则相反,这里用于排除特定范围内的值。 4. 选择在20和30号部门工作的员工姓名和部门号 `IN`关键字允许你指定多个可能的值(如部门号20和30),并返回与之匹配的记录。 5. 选择没有管理者的员工姓名及职位,按职位排序 此查询查找`mgr`字段为空的记录,即没有直接上级的员工,`ORDER BY`用于按指定字段排序。 6. 选择有奖金的员工姓名,工资和奖金,按工资降序排列 `IS NOT NULL`用来筛选非空字段,`ORDER BY`结合`DESC`对结果进行降序排序。 7. 选择员工姓名的第三个字母是A的员工 `LIKE`操作符配合通配符`%`用于模糊匹配,`__A%`表示任意两个字符后跟'A'的情况。 8. 列出部门表中的部门名字和所在城市 这个简单的查询展示了如何从单个表中选择多个字段。 9. 显示职员表中的不重复的岗位 `DISTINCT`关键字用于去除重复值,确保返回唯一的职业岗位。 10. 连接职员表中的职员名字、职位、薪水,列之间用逗号连接,列头显示成OUT_PUT 这里使用了字符串连接操作符`||`和别名,创建了自定义格式的输出。 11. 查询职员表emp中员工号、姓名、工资,以及工资提高20%后的结果 `*`运算符用于乘法,`1.2`表示提高20%,显示了如何进行计算操作。 12. 查询员工的姓名和工资数,条件限定为工资数大于1200,并按入职时间进行排列 `ORDER BY`结合`HIREDATE`字段,按照入职日期排序,先入职的员工排在前面。 13. 列出除了ACCOUNT部门还有哪些部门 这需要使用LEFT JOIN或RIGHT JOIN,结合`WHERE`子句排除特定部门,具体实现取决于部门表和职员表的结构。 这些练习覆盖了Oracle SQL的基础概念,包括查询、筛选、排序、连接和计算。随着对这些概念的深入理解和实践,你将能够处理更复杂的数据库操作。