【发布时间】:2019-10-17 08:25:20
【问题描述】:
我有两个 SQL 表 第一个称为雇员,它包含雇员姓名、唯一的雇员 ID 和公司的部门名称。
示例:
id name department
1 robert engineering
2 muhammad sales
3 john engineering
4 steve engineering
5 recardo engineering
6 ariel human-resource
7 lena human-resource
8 lucy customer-service
9 barbara testing
10 eli testing
第二个是薪水。它拥有相同的员工姓名和员工 ID,以及每位员工的薪水。
示例:
emp_id emp_name salary
1 robert 100
2 muhammad 100
3 john 200
4 steve 200
5 recardo 250
6 riel 250
7 lena 300
8 lucy 100
9 barbara 280
10 eli 265
公司有 10 名员工,所以两个表都有 10 行。
如何打印每个员工平均工资低于 203 美元的每个部门?
DDL 和相同的小提琴
CREATE TABLE `employee` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`department` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `employee` (`id`, `name`, `department`) VALUES
(1, 'robert', 'engineering'),
(2, 'muhammad', 'sales'),
(3, 'john', 'engineering'),
(4, 'steve', 'engineering'),
(5, 'recardo', 'engineering'),
(6, 'ariel', 'human-resource'),
(7, 'lena', 'human-resource'),
(8, 'lucy', 'customer-service'),
(9, 'barbara', 'testing'),
(10, 'eli', 'testing');
CREATE TABLE `salaries` (
`emp_id` int(11) NOT NULL,
`emp_name` varchar(200) NOT NULL,
`salary` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `salaries` (`emp_id`, `emp_name`, `salary`) VALUES
(1, 'robert', 100),
(2, 'muhammad', 100),
(3, 'john', 200),
(4, 'steve', 200),
(5, 'recardo', 250),
(6, 'riel', 250),
(7, 'lena', 300),
(8, 'lucy', 100),
(9, 'barbara', 280),
(10, 'eli', 265);
【问题讨论】:
-
请注意,您不会将 emp_name 存储在薪金表中。事实上,您可能根本就没有单独的薪水表。
标签: mysql sql aggregate average