我在这里的第一篇文章。我有一个在mysql中交付的任务,我在2个问题中发现了一个难点。
首先,数据库的表格如下:
departments (dep_no, dep_name)
dept_emp (emp_no, dept_no, from_date, to_date)
dept_manager (dept_no, emp_no, from_date, to_date)
employees (emp_no, birthdate, first_name, last_name, gender, hire_date)
salaries (emp_no, salary, from_date to_date)
titles (emp_no, title, form_date, to_date)
我遇到困难的两个问题是那些2:
哪个部门目前支付最高薪水,谁是部门经理?
市场部目前的平均工资是多少?
我真的很感谢你的帮助。
干杯!
答案 0 :(得分:0)
尝试第一个:
select d.dep_name AS department
, CONCAT(e.first_name, e.last_name) AS department_manager
from salaries S
inner join dept_emp de on s.emp_no = de.emp_no
inner join departments d on de.dept_no = d.dept_no
inner join dept_manager dm on de.dept_no = d.dept_no
inner join employees e on dm.emp_no = e.emp_no
where s.salary = (select MAX(salary) from salaries)
第二个(如果市场营销部在表dept_manager
):
select AVG(salary)
from salaries S
inner join dept_manager dm on s.emp_no = dm.emp_no
答案 1 :(得分:0)
哪个部门目前支付最高薪水,谁是部门经理?
select dept_no from
dept_emp where emp_no in
(select emp_no from salaries
where salary = (select max(salary) from salaries) )
市场部目前的平均工资是多少?
select avg(s.salary) as marketing_avg_salary
from salaries s join dept_emp de
on s.emp_no = de.emp_no
where de.dept_no = (select dept_no from departments where dept_name = 'Marketing')