LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

[LeetCode] 181.従業員の収入が管理職よりも多い

従業員テーブルには、マネージャーを含むすべての従業員が格納されます。すべての従業員には ID があり、マネージャー ID の列もあります。

+----+-------+--------+-----------+
| ID | 名前 | 給与 | マネージャー ID |
+----+-------+--------+-----------+
| 1 | ジョー | 70000 | 3 |
| 2 | ヘンリー | 80000 | 4 |
| 3 | サム | 60000 | NULL |
| 4 | 最大 | 90000 | NULL |
+----+-------+--------+-----------+

従業員テーブルに基づいて、上司よりも収入が多い従業員を検索する SQL クエリを作成します。上記のテーブルでは、上司よりも収入が多い従業員は Joe だけです。

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

この問題では、従業員とそのマネージャーの給与情報を含む Employee テーブルが提供されます。マネージャーも従業員であり、マネージャー ID は空です。マネージャーよりも給与が高い従業員を見つけましょう。これは非常に単純な比較問題です。ManagerId と Id を補間する 2 つのインスタンス オブジェクトを生成し、一方の給与がもう一方の給与よりも高いという条件を制限できます。

解決策1:

従業員 e1 から e1.Name を選択
従業員 e2 を e1.ManagerId = e2.Id に参加させる
e1.Salary > e2.Salary の場合;

Join をスキップして、すべての条件を where に直接書き込むこともできます。

解決策2:

従業員 e1、従業員 e2 から e1.Name を選択
e1.ManagerId = e2.Id かつ e1.Salary > e2.Salary の場合;

参考文献:

https://leetcode.com/discuss/88189/two-straightforward-way-using-where-and-join

これで、LeetCode の SQL 実装 (181. 従業員の収入が管理職よりも多い) に関するこの記事は終了です。従業員の収入が管理職よりも多い SQL 実装の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)
  • SQL 実装 LeetCode (185. 部門内で最も給与の高い上位 3 名)
  • LeetCode の SQL 実装 (184. 部門内で最も高い給与)
  • LeetCode の SQL 実装 (183. 注文をしたことがない顧客)
  • LeetCode の SQL 実装 (182. 重複するメールボックス)
  • SQLはLeetCodeを実装します(180.連続した数字)
  • LeetCode の C++ 実装 (組み合わせの最大数は 179)
  • LeetCode の SQL 実装 (197. 気温上昇)

<<:  CSS を使用して親コンテナ div を img 画像で埋め、コンテナのサイズを調整する方法

>>:  入力テキストボックスの長さをコンテンツに応じて変更する方法

推薦する

Linux環境でglogログライブラリを使用する方法

Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...

MySQL でテーブルスペースの断片化を解消する詳細な例

MySQL でテーブルスペースの断片化を解消する詳細な例断片化の原因(1)テーブルのストレージは断片...

Centos7のシステム言語を簡体字中国語に変更する方法

例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...

MySQL 8.0.20 Window10無料インストール版設定とNavicat管理チュートリアルグラフィック詳細説明

1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...

Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

selinux ( Security-Enhanced Linux)は、Linux カーネル モジュ...

FlashFXP FTP クライアント ソフトウェア登録クラッキング方法

FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...

ReactJs 基礎チュートリアル - 基本編

目次1. ReactJS の紹介2. ReactJSの理解とReactJSの利点1. ReactJS...

MySQL の全体的なアーキテクチャの紹介

MySQL の全体的なアーキテクチャは、サーバー層とストレージ エンジン層に分かれています。サーバー...

CSS で text-align と margin: 0 auto を使用して中央に配置する例コード

CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...

シンプルなデータ応答システムを実装する

目次1. デップ2. 観察者を理解する3. 監視と観察者を理解する4. トリガーの依存性5. プロセ...

CSS レイアウト チュートリアル: 垂直方向の中央揃えを実現する方法

序文最近、フロントエンドの知識をまとめており、いくつかのインタビューにも参加しました。インタビュー中...

DockerにRocketMQをインストールするための実装手順

目次1. 画像を取得する2. ブローカーサーバーを作成する3. ブローカーを作成する4. Rocke...

JS 非同期実行の原則とコールバックの詳細

1. JSの非同期実行の原則JavaScript はシングルスレッドですが、ブラウザはマルチスレッド...

ES6 ループと反復可能オブジェクトの例

この記事では、ES6 の for ... of ループについて説明します。古い方法以前は、JavaS...