创建employee表及Department表
USE shop;
CREATE TABLE employee
(Id integer(2),
Name varchar(10),
Salary varchar(10),
DepartmentId integer(2)
);
USE shop;
CREATE TABLE Department
(Id integer(2),
Name varchar(10)
);
插入数据
USE shop;
INSERT INTO employee VALUES ('1','Joe','70000','1'),
('2','Henry','80000','2'),
('3','Sam','60000','2'),
('4','Max','90000','1');
USE shop;
INSERT INTO Department VALUES ('1','IT'),
('2','Sales');
使用内连结
USE shop;
SELECT dp.Name AS Departmrnt,
ep.Name AS employee,
ep.Salary
FROM employee AS ep
INNER JOIN Department AS dp
ON ep.DepartmentId = dp.id;
USE shop;
SELECT dp.Name AS Departmrnt,
ep.Name AS employee,
ep.Salary
FROM Department AS dp
INNER JOIN
(SELECT Id,Name,Salary,DepartmentId
FROM employee AS ep1
WHERE Salary =
(SELECT MAX(Salary)
FROM employee AS ep2
WHERE ep1.DepartmentId = ep2.DepartmentId
GROUP BY DepartmentId)
) AS ep
ON ep.DepartmentId = dp.id;
效果如下: