Oracle SQL查询:去除多列重复行与计算年薪

需积分: 32 3 下载量 164 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"这篇文档详细介绍了如何在Oracle数据库中使用SQL语句来去除多列重复行,并通过实例展示了SELECT查询的不同用法,包括查询特定列、运用算数表达式以及处理空值等基本操作。" 在Oracle SQL中,去除多列重复行通常使用`DISTINCT`关键字。在给出的例子中,为了查询出`s_emp`表中不重复的部门ID与职称组合,可以使用如下的SQL语句: ```sql SELECT DISTINCT dept_id, title FROM s_emp; ``` 这将返回所有独特的`dept_id`和`title`的组合,消除任何重复的行。 文档还介绍了SELECT查询的基本语法,用于从数据库中检索数据。基础语法如下: ```sql SELECT <列名> FROM <表名>; ``` 例如,要获取`s_emp`表中的所有员工信息,你可以使用: ```sql SELECT * FROM s_emp; ``` `*`是通配符,代表选择表中的所有列。 如果只想查询特定列,如部门ID(`dept_id`)和工资(`salary`),则应写为: ```sql SELECT dept_id, salary FROM s_emp; ``` 在SQL查询中,还可以使用算数表达式来处理数值。比如,要计算员工的年薪(假设`salary`列代表月工资),可以这样写: ```sql SELECT salary * 12 FROM s_emp; ``` 这会返回每个员工的年度薪资总和。 当涉及运算符优先级时,可以使用括号来改变计算顺序。例如,要计算年薪并加上100元奖金,可以按照两种方式编写: 1. 先乘以12,再加100: ```sql SELECT last_name, salary, 12 * salary + 100 FROM s_emp; ``` 2. 先加100,再乘以12: ```sql SELECT last_name, salary, 12 * (salary + 100) FROM s_emp; ``` 这两种方法在结果上会有区别,取决于是否先进行加法运算。 总结来说,这篇文档深入浅出地讲解了Oracle SQL中去除多列重复行的方法,以及SELECT查询的使用技巧,包括选择特定列、计算表达式和理解运算符优先级,是学习和操作Oracle数据库的重要参考资料。