MySQL多表查詢練習題
阿新 • • 發佈:2018-12-22
select * from departments
-- 2、檢視員工表中的所有記錄
select * from employees
-- 3、查詢所有員工所屬的部門 employees departments dept_emp
select a.emp_no,a.name,b.dept_no,b.dept_name
from employees a,departments b,dept_emp c
select a.emp_no,a.name,b.dept_no,b.dept_name
from employees a left join dept_emp b on a.emp_no = b.emp_no
left join departments c on c.dept_no = a.dept_no
select a.emp_no,a.name from employees a left join dept_emp b on a.emp_no= b.emp_no
-- 4、查詢屬於A部門的員工
select a.name from employees a left join dept_emp b on a.emp_no = b.emp_no
left join departments c on c.dept_no = b.dept_no
where c.dept_name = 'A'
SELECT AVG(salary) FROM employees a LEFT JOIN dept_emp b ON a.emp_no = b.emp_no
LEFT JOIN departments c ON c.dept_no = b.dept_no
LEFT JOIN salaries d ON a.emp_no = d.emp_no
WHERE c.dept_name = 'A'
-- 6、查詢屬於A部門員工的每月平均工資
SELECT AVG(salary),d.month FROM employees a LEFT JOIN dept_emp b ON a.emp_no = b.emp_no
LEFT JOIN departments c ON c.dept_no = b.dept_no
LEFT JOIN salaries d ON a.emp_no = d.emp_no
WHERE c.dept_name = 'A'
group by d.month
-- 7、查詢最高工資的員工屬於哪個部門
SELECT d.dept_name, e.name, s.salary
FROM employees e, departments d, dept_emp de, salaries s
WHERE e.emp_no=de.emp_no AND d.dept_no=de.dept_no AND s.emp_no = e.emp_no ORDER BY s.salary DESC LIMIT 1;