oracle数据库:基本查询、层次查询和level伪列查询

1、查询每个部门、职位的总工资,以及每个部门的总工资,整个公司的总工资。

select department_id,job_id,sum(salary)
	from employees
	group by rollup(department_id,job_id);

在这里插入图片描述
2、查询每个部门、职位的总工资,以及每个部门的总工资,整个公司的总工资。

select department_id,job_id,sum(salary)
	from employees
	group by cube(department_id,job_id);

在这里插入图片描述
3、使用grouping函数,在合适的地方写上部门小计,职位小计和总计。

select
    case grouping(department_id)
    when 1 then 'all department'
    else to_char(department_id)
    end as department,
    case grouping(job_id)
    when 1 then 'all jobs'
    else job_id
    end as job,
    sum(salary)
    from employees
    group by rollup(department_id,job_id)
order by department_id,job_id;

在这里插入图片描述
4、使用层次查询和level伪列查询公司管理层次图。

select level,employee_id,manager_id,last_name,job_id from employees
	start with job_id = (select job_id from employees where employee_id=108)
	connect by prior manager_id=employee_id;

在这里插入图片描述
5、使用层次查询和level伪列查询某个领导的直接和间接员工。

select level,employee_id,manager_id,last_name,job_id from employees
      start with job_id=(select job_id from employees where employee_id=108)
      connect by prior employee_id=manager_id;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值