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 画像で埋め、コンテナのサイズを調整する方法

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

推薦する

Viteは仮想ファイルの実装を導入します

目次背景仮想ファイルのインポート例書類タイプスクリプトのサポート要約する背景新しいプロジェクトで v...

MySQL 5.7.21 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.21のインストールに関する注意事項をまとめ、皆さんと共有します。 ...

docker windows10共有ディレクトリのマウント失敗の解決策

原因docker スクリプトを実行すると、コンテナを作成できないというエラーが発生します。以下のよう...

Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があ...

Dockerコマンドの学習を1つの記事にまとめる

目次導入ミラーリポジトリログイン引く押す検索ローカル画像管理画像rmiタグ建てる歴史保存負荷輸入コン...

React tsx はランダムな検証コードを生成します

React tsxは参照用にランダムな検証コードを生成します。具体的な内容は次のとおりです。最近、t...

Tomcat は親の委任メカニズムを破壊して Web アプリケーションの分離を実現します。

目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...

InnoDB がトランザクション分離レベルを巧みに実装する方法

序文前回の記事「MySQL ロック メカニズムの詳細説明」では、InnoDB のロック メカニズムに...

Mac に Windows サービスを備えた仮想マシンをインストールする方法

1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...

Vue elementUI はツリー構造テーブルと遅延読み込みを実装します

目次1. 成果を達成する2. バックエンドの実装2.1 エンティティクラス2.2 データベース内のデ...

MySQL の主キーがクエリを高速化するために数値を使用するか UUID を使用するかについての簡単な分析

実際の開発では、MySQL の主キーは重複できず、主キーが自動的にインクリメントされることがあります...

mysql-canal-rabbitmq のインストールと展開の非常に詳細なチュートリアル

目次1.1. MySQL binlog を有効にする1.2. RabbitMQ の交換とキューを構成...

HTMLページの読み込みと解析プロセスの詳細な紹介

ブラウザがHTMLを読み込みレンダリングする順序1. IE は上から下へダウンロードし、上から下へレ...

MySQL 5.7.23 バージョンのインストールチュートリアルと設定方法

MySQL を自分でインストールするのに 3 時間かかりました。チュートリアルはたくさんあるにもかか...

Linux userdel コマンドの使用法

1. コマンドの紹介userdel (ユーザー削除) コマンドは、ユーザー アカウントと関連ファイル...