oracle之數據處理之課後練習

55. 更改 108 員工的信息: 使其工資變爲所在部門中的最高工資, job 變爲公司中平均工資最低的 job
	
	1). 搭建骨架
	update employees 
	set salary = (
		
	), job_id = (

	) where employee_id = 108;
	
	2). 所在部門中的最高工資	
	select max(salary)
	from employees
	where department_id = (
		select department_id
		from employees
		where employee_id = 108
	)
	
	3). 公司中平均工資最低的 job
	select job_id
	from employees
	group by job_id
	having avg(salary) =  (
		select min(avg(salary))
		from employees
		group by job_id
	)
	
	4). 填充
	update employees e set salary = (
		select max(salary)
		from employees
		where department_id = e.department_id
	), job_id = (
		select job_id
		from employees
		group by job_id
		having avg(salary) =  (
			select min(avg(salary))
			from employees
			group by job_id
		)
	) where employee_id = 108;
	
56. 刪除 108 號員工所在部門中工資最低的那個員工.

	1). 查詢 108 員工所在的部門 id
	select department_id
	from employees 
	where employee_id = 108;
	
	2). 查詢 1) 部門中的最低工資:

	select min(salary)
	from employees
	where department_id = (
		select department_id
		from employees 
		where employee_id = 108
	)
	
	3). 刪除 1) 部門中工資爲 2) 的員工信息:
	
	delete from employees e
		where department_id = (
      			select department_id
      			from employees e
      			where employee_id = 108
		) and salary = (
      			select min(salary)
      			from employees
      			where department_id = e.department_id
		)	

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章