---方法1
select decode(deptno,10,'财务部',20,'研发部',30,'销售部','未知部门') dept,round(avg(sal),0),round(avg(nvl(comm,0)),0),case
when avg(nvl(comm,0))>300 then '奖金不错'
when avg(nvl(comm,0))>100 and avg(nvl(comm,0))<300 then '奖金一般'
when avg(nvl(comm,0))<100 then '几乎没奖金'
end status
from emp
group by deptno
order by deptno desc,avg(sal) desc;
---方法2
select decode(deptno,10,'财务部',20,'研发部',30,'销售部','未知部门') dept,round(avg(sal),0),round(avg(nvl(comm,0)),0),
decode(
sign(round(avg(nvl(comm,0)),0)-300),
1,'奖金不错',
0,'奖金不错',
-1,decode(
sign(round(avg(nvl(comm,0)),0)-100),
1,'奖金一般',
0,'奖金一般',
-1,'几乎没有奖金'
)
)
as status from emp
group by deptno
order by deptno desc,avg(sal) desc;
相关推荐
此查询不仅检查员工薪资是否高于平均值,还考虑了部门归属和领导关系。这有助于识别表现优异的员工及其工作环境。 10. **查询与SCOTT相同职位但非SCOTT本人的员工** 查询通过子查询找到SCOTT的职位,然后在外部...
6. **算出每个部门、每个职位的平均工资和平均奖金,并根据不同平均奖金区间显示不同信息** ```sql SELECT deptno, job, AVG(sal) AS avg_sal, AVG(comm) AS avg_comm, CASE WHEN AVG(comm) > 300 THEN '奖金...
通过`WHERE`子句筛选出职位为"MANAGER"的员工,然后对每个部门的经理薪资进行分组和求最小值。 19. 列出按年薪排序的雇员 这题未给出具体实现,通常可以使用`ORDER BY`对年薪进行排序,年薪可以通过`sal * 12`计算...
这将按部门编号和岗位进行分组,并计算每个部门每个岗位的平均工资和最高工资。 **案例四:查询编码在50以下的各部门的部门编号以及最高工资平均工资,显示平均工资大于2000** 为了筛选出符合条件的数据,可以在...
例如,统计每个部门的员工数量、平均工资等。 4. 连接查询: 连接查询用于从两个或多个表中获取相关联的数据行。可以使用INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN等。例如,查询员工的姓名及直接上级的姓名,...
- **解释**:使用聚合函数`COUNT()`、`AVG()`以及`DATEDIFF()`函数来计算每个部门的员工数量、平均工资和平均服务期限。 #### 14. 列出所有员工的姓名、部门名称和工资 ```sql SELECT E.ENAME AS "员工", D.DNAME ...
#### 十九、分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金) - **SQL语句**: ```sql select avg(nvl(comm, 0)) as avg_bonus, sum(sal + nvl(comm, 0)) as total_salary, deptno,...
- 使用子查询来获取每个员工所在部门的平均工资。 - 主查询用来筛选出工资大于平均工资的员工信息。 这些练习题覆盖了Oracle数据库中的基础到高级查询技术,包括基本的SELECT查询、条件筛选、函数应用、排序操作...
- **查询所有员工每个月的工资总和和平均工资**:这需要按照月份对数据进行分组,并计算每个月的工资总和和平均工资。 - **查询工资最高和最低的金额**:这可以通过使用`MAX()`和`MIN()`函数来实现。 - **查询公司的...
统计每个部门的部门编号、部门平均工资、部门人数,查询结果按照平均工资升序排列 ```sql SELECT d.deptno, AVG(e.sal) AS 平均工资, COUNT(*) AS 部门人数 FROM dept d JOIN emp e ON d.deptno = e.deptno GROUP ...
5. 统计每个部门各工种的人数与平均工资: 使用GROUP BY子句按deptno和job分组,然后使用COUNT(*)计算人数和AVG(sal)计算平均工资。 6. 查询工资排名前5的员工信息: 使用子查询获取按工资降序排列的前5个员工的...
实验的第一部分要求设计一个测试用例,该程序接收最多50个输入值(以-1作为结束标志),统计有效学生分数的数量、总分和平均值。为了设计测试用例,我们需要进行以下步骤: 1. **复杂度计算**:计算程序的圈复杂度...
- 使用`AVG(sal)`计算每个部门的平均工资。 SQL语句示例: ```sql SELECT deptno, COUNT(*) AS employee_count, AVG(sal) AS average_salary FROM emp GROUP BY deptno; ``` #### 14. 列出所有员工的姓名、部门...
删除环境变量中的PATHT CLASSPATH中包含Oracle的值。 删除“开始”/“程序”中所有Oracle的组和图标。 删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...
他认为对于SQL的学习是永无止境的,相信每一个查询Oracle数据库的人都需要精通SQL语言,才能写出高效的查询。他参与本书的编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...
3、 通过dept表查询出所有部门号,对每个部门雇员的工资进行调整,将工资高于(包含$2000)$2000的雇员每人增加$500,将工资低于$2000的雇员每人增加到$2000。但应注意雇员工资调整后不应大于$10000,否则显示出错信息,...
` 查询1月份奖金平均数大于200元的部门,并按平均奖金降序排列。 7. **连接查询**(2-7):`SELECT p.*, d.dname FROM person p, dept d WHERE p.deptno=d.deptno AND d.dname='人事部';` 通过 `INNER JOIN` 连接 `...
//按照deptno分组,查看每个部门的平均工资 55、select max(sal) from emp group by deptno, job; //分组的时候,还可以按照多个字段进行分组,两个字段不相同的为一组 56、select ename from emp where sal = ...
列出在每个部门工作的员工数量、平均工资。 - **知识点**: - 使用`COUNT()`计算每组的数量。 - 使用`AVG()`计算每组的平均值。 - **SQL语句**: ```sql SELECT deptno, COUNT(*), AVG(sal) FROM emp ...