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 binlog_ignore_dbパラメータの具体的な使用法

序文:前の記事を読んだ後、binlog はデータベースで実行されたすべての DDL および DML ...

Linux ホスト上で複数の MySQL データベースを起動する方法

今日は、Linux ホスト上で 4 つの MySQL データベースを起動する方法について説明します。...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

HTML チュートリアル: HTML 水平線分

<br />このタグを使用すると、画面上に水平線を表示して、ページのさまざまな部分を区切...

エラー mysql テーブル 'performance_schema...解決方法

テスト環境は、JDBCドライバを使用してMariaDB 5.7でセットアップされています。 <...

MySQL の一般的な問題とアプリケーション スキルの概要

序文MySQL の日常的な開発やメンテナンスでは、パスワードの紛失やテーブルの破損など、避けられない...

Docker コンテナ入門から夢中になるまで(推奨)

1. Docker とは何ですか?仮想マシンについては誰もが知っています。Windows に Li...

Linuxアカウントファイル制御管理の詳細な手順

Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

Javascriptの基本を詳しく説明

目次変数データ型拡張ポイント要約する変数基本的な構文 var age=10; //ageという変数を...

HTML と CSS に関する基本的なメモ (フロントエンドでは必読)

HTMLに触れた当初はレイアウトにいつもテーブルを使っていましたが、とても面倒で見た目も悪かったの...

yum インストールエラーの問題を解決する 保護されたマルチライブラリバージョン

現在、クラウドサーバーに nginx をインストールする際、最初に zlib などの依存ライブラリを...

nginx が動的と静的の分離を実装する方法の例

目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...

非常に便利な CSS 開発ツール 8 つを紹介

CSS3 パターン ギャラリーこの CSS3 パターン ライブラリには、純粋な CSS3 を使用して...

MySQL 8.0 のユーザーとロールの管理原則と使用方法の詳細

この記事では、MySQL 8.0 のユーザーとロールの管理について例を挙げて説明します。ご参考までに...