一、題目名稱sql
Employees Earning More Than Their Managers(比領導工資還高的員工)數據庫
二、題目地址命令行
https://leetcode.com/problems/employees-earning-more-than-their-managers/code
三、題目內容leetcode
Employee表的結構包含四列:Id、Name、Salary、ManagerId,找出其中工資高於直接上級的員工的Name。get
例如,下表中Joe的工資大於他的直接上級Sam:class
+----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | Max | 90000 | NULL | +----+-------+--------+-----------+
四、初始化數據庫腳本數據
在MySQL數據庫中創建一個名爲LEETCODE的數據庫,用MySQL命令行中的source命令執行下面腳本:腳本
-- 執行腳本前必須創建名爲LEETCODE的DATABASE USE LEETCODE; DROP TABLE IF EXISTS Employee; CREATE TABLE Employee ( Id INT NOT NULL PRIMARY KEY, Name VARCHAR(50), Salary INT, ManagerId INT ); INSERT INTO Employee (Id, Name, Salary, ManagerId) VALUES (1, 'Joe', 70000, 3); INSERT INTO Employee (Id, Name, Salary, ManagerId) VALUES (2, 'Henry', 80000, 4); INSERT INTO Employee (Id, Name, Salary, ManagerId) VALUES (3, 'Sam', 60000, NULL); INSERT INTO Employee (Id, Name, Salary, ManagerId) VALUES (4, 'Max', 90000, NULL);
五、解題SQLco
解題SQL以下:
SELECT Name FROM Employee AS A WHERE Salary > ( SELECT Salary FROM Employee AS B WHERE Id = A.ManagerId );
END