Oracle数据库SQL查询语句详解与示例

需积分: 9 36 下载量 129 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"Oracle数据库Sql语句详解大全" 在Oracle SQL中,`SELECT`语句是用于从数据库中检索数据的基本工具。本示例主要介绍了如何使用`SELECT`语句来查询`s_emp`和`s_dept`表中的数据,包括查询平均工资、部门名称以及通过算术表达式计算年薪等操作。 1. 查询所有员工的平均工资 ```sql SQL> SELECT avg(salary) FROM s_emp ``` 这个查询返回`s_emp`表中所有员工的平均工资。 2. 查询各部门员工的平均工资及部门名称 ```sql SQL> SELECT e.dept_id, max(d.name), avg(e.salary) FROM s_emp e, s_dept d WHERE e.dept_id = d.id GROUP BY dept_id ``` 这里使用了`JOIN`操作将`s_emp`和`s_dept`表连接在一起,通过`dept_id`匹配部门和员工,`GROUP BY`子句按照部门ID进行分组,`max(d.name)`用于获取每个部门的最大名称(通常部门名称是唯一的),而`avg(e.salary)`则计算每个部门的平均工资。 3. SELECT查询基础语法 `SELECT`语句的基本语法是: ```sql SELECT <列名> FROM <表名> ``` 例如,`SELECT * FROM s_emp`会返回`s_emp`表中的所有列。 4. 查询指定列 可以选择性地只查询需要的列,如: ```sql SQL> SELECT dept_id, salary FROM s_emp ``` 这将返回每个员工的部门ID和工资。 5. 运用算数表达式 在查询中可以使用算数表达式来计算新值,例如计算年薪: ```sql SQL> SELECT salary * 12 FROM s_emp ``` 上述查询将每个员工的月工资乘以12,得到年薪。 6. 运算符的优先级 括号可以用来改变运算的优先级,例如: - 如果不加括号:`12*salary+100`,可能会先执行加法再乘法。 - 加上括号后:`12*(salary+100)`,则会先执行括号内的加法,然后再乘以12。 通过这些示例,我们可以看到Oracle SQL的`SELECT`语句是如何灵活地处理数据查询的,不仅可以获取基本的数据,还能进行复杂的计算和组合查询。了解并熟练掌握这些基础操作对于任何在Oracle数据库环境下工作的IT专业人员来说都是至关重要的。