leetcode-181は、所得マネージャーのスタッフを超えます

  • タイトル

SQLスキーマ:

Create table If Not Exists Employee (Id int, Name varchar(255), Salary int, ManagerId int)
Truncate table Employee
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', 'None')
insert into Employee (Id, Name, Salary, ManagerId) values ('4', 'Max', '90000', 'None')

Employeeテーブルにはすべての従業員が含まれている、彼らの経営者は、従業員に属します。各従業員は、スタッフの対応ID管理に加えて、IDを持っています。

± - ±±------- ------±---------- +
| ID |名前|給与|マネージャーID |
± - ±±------ - ±+ ---------- -----
| 1 |ジョー| 70000 | 3 |
| 2 |ヘンリー| 80000 | 4 |
| 3 |サム| 60000 | NULL |
| 4 |最高| 90000 | NULL |
± - ±±------- ------ ---------- +±
Employeeテーブル与え、あなたは彼らのマネージャーよりも多くのお金を稼ぐことができるというSQLクエリを書きます従業員の名前。上記の表では、ジョーは、彼のマネージャーのスタッフよりも多く稼ぐ唯一のものです。

±--------- +
| 従業員|
±--------- +
| ジョー|
±--------- +

出典:滞在ボタン(LeetCode)
リンク管理職よりも181所得従業員
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。

  • 分析

最初のトピックのクエリは、多くの分野を含む、名前、Salaray、同上およびマネージャーIDを必要とするので、使用に期待します接続、エイリアスを使用する同じテーブルに注意してください。給与:基準量は、条件の分析この質問に接続しなければなりません。コードの詳細な分析を参照してください。

  • コード
# Write your MySQL query statement below
select Name as Employee from Employee as e where
Salary >(select Salary from Employee where Id=e.ManagerId);

ここに画像を挿入説明

2019年12月20日

公開された52元の記事 ウォン称賛59 ビュー6828

おすすめ

転載: blog.csdn.net/ataraxy_/article/details/103637568