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

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

推薦する

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

MySQLトランザクションが効率に与える影響の分析と概要

1. データベース トランザクションによりデータベースのパフォーマンスが低下します。データの一貫性と...

Nginx インストールの詳細なチュートリアル

1. Nginxの簡単な紹介Nginx は、無料のオープンソースの高性能 HTTP サーバーおよびリ...

Linux コマンドラインで電卓を使用する 5 つのコマンド

みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...

大規模なMySQLデータベース用のマスタースレーブシステムを構築するアイデアを共有する

今週は戦争のように忙しかったです。他人に操られているような気がします。毎日朝早く出勤して夜遅く帰り、...

スライドボタン効果を実現するネイティブJS

Jsで作ったスライドボタンの具体的なコードは参考までに。具体的な内容は以下のとおりですまずエフェク...

MySQL 8.0.12 winx64 詳細なインストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

JavaScript でフォロー広告を実装するためのサンプルコード

フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...

Vueフォームバインディングとコンポーネントの詳細な説明

目次1. 双方向データバインディングとは1. データの双方向バインディングを実装する必要があるのはな...

複数の条件を持つ MySQL クエリ メソッド

複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...

MySQLデッドロック問題の詳細な分析

序文私たちのビジネスがまだ初期段階にあり、同時実行の度合いが比較的低い場合、数年間はデッドロックの問...

MySQLを閉じることができない問題を解決する方法

mysql が閉じない場合の解決策:コンピュータのタスクバーを右クリックしてタスクマネージャーを開き...

Vue+swiperでタイムライン効果を実現

この記事では、タイムライン効果を実現するためのvue+swiperの具体的なコードを参考までに共有し...

Zabbix による SQL Server の監視プロセスの詳細な説明

Zabbix による SQL Server の監視を見てみましょう。まずfreetdsをダウンロード...

複数の無関係なテーブルからデータをクエリし、MySQL でページングする方法

MySQL 複数の無関係なテーブルクエリデータとページング機能要件主キーと外部キーの関連付けがない ...