#1、查詢工資最低的員工信息:last_name,salary
SELECT last_name,salary
FROM employees
WHERE salary = (
SELECT MIN(salary)
FROM employees
);
#2、查詢平均工資最低的部門信息
#方式一
SELECT d.*
FROM employees e
INNER JOIN departments d
ON e.`department_id`=d.department_id
GROUP BY department_id
HAVING AVG(salary) = (
SELECT MIN(工資)
FROM (
SELECT AVG(salary) 工資,department_id
FROM employees
GROUP BY department_id
) 新表
);
#方式二
SELECT *
FROM departments
WHERE department_id =(
SELECT department_id
FROM employees
GROUP BY department_id
ORDER BY AVG(salary)
LIMIT 1
);
#3、查詢平均工資最低的部門信息和該部門的平均工資
SELECT d.*,AVG(salary)
FROM employees e
INNER JOIN departments d
ON e.`department_id`=d.`department_id`
GROUP BY e.department_id
HAVING AVG(salary) = (
SELECT MIN(工資)
FROM (
SELECT AVG(salary) 工資,department_id
FROM employees
GROUP BY department_id
) 新表
);
#4、查詢平均工資最高的job信息
SELECT *
FROM jobs
WHERE job_id =(
SELECT job_id
FROM employees
GROUP BY job_id
ORDER BY AVG(salary) DESC
LIMIT 1
);
#5、查詢平均工資高於公司平均工資的部門有哪些?
SELECT department_id,AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > (
SELECT AVG(salary)
FROM employees
);
#6、查詢公司中所有manager的詳細信息
SELECT *
FROM employees
WHERE employee_id IN (
SELECT DISTINCT manager_id
FROM employees
);
#7、各個部門中最高工資中最低的那個部門的最低工資是多少?
SELECT MIN(salary),department_id
FROM employees
GROUP BY department_id
HAVING department_id =(
SELECT department_id 部門編號
FROM employees
GROUP BY department_id
ORDER BY MAX(salary)
LIMIT 1
);
#8、查詢平均工資最高的部門的manager的詳細信息:last_name,department_id,email,salary
SELECT last_name,department_id,email,salary
FROM employees
GROUP BY department_id
HAVING AVG(salary)=(
SELECT MAX(工資)
FROM (
SELECT AVG(salary) 工資,department_id 編號
FROM employees
GROUP BY department_id
) 新表
);
MySQL數據庫--------子查詢練習題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.