SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)

SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)

[LeetCode] 181.Mitarbeiter verdienen mehr als ihre Manager

Die Mitarbeitertabelle enthält alle Mitarbeiter einschließlich ihrer Manager. Jeder Mitarbeiter hat eine ID und es gibt auch eine Spalte für die Manager-ID.

+----+-------+--------+-----------+
| ID | Name | Gehalt | ManagerID |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Heinrich | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+

Schreiben Sie für die Tabelle „Mitarbeiter“ eine SQL-Abfrage, die Mitarbeiter ermittelt, die mehr verdienen als ihre Vorgesetzten. In der obigen Tabelle ist Joe der einzige Mitarbeiter, der mehr verdient als sein Vorgesetzter.

+----------+
|Mitarbeiter |
+----------+
| Joe |
+----------+

Diese Frage gibt uns eine Mitarbeitertabelle, die die Gehaltsinformationen der Mitarbeiter und ihrer Manager enthält. Manager sind auch Mitarbeiter und ihre Manager-ID ist leer. Lassen Sie uns die Mitarbeiter herausfinden, deren Gehalt höher ist als das ihrer Manager. Dann ist es ein sehr einfaches Vergleichsproblem. Wir können zwei Instanzobjekte generieren, um sie durch ManagerId und Id zu interpolieren und dann die Bedingung einzuschränken, dass ein Gehalt höher ist als das andere:

Lösung 1:

Wählen Sie e1.Name aus Mitarbeiter e1
JOIN Mitarbeiter e2 ON e1.ManagerId = e2.Id
WO e1.Gehalt > e2.Gehalt;

Wir können Join auch überspringen und alle Bedingungen direkt in Where schreiben:

Lösung 2:

SELECT e1.Name FROM Mitarbeiter e1, Mitarbeiter e2
WO e1.ManagerId = e2.Id UND e1.Gehalt > e2.Gehalt;

Quellen:

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

Dies ist das Ende dieses Artikels über die SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager). Weitere relevante SQL-Implementierungen für Angestellte, die mehr verdienen als Manager, finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • SQL-Implementierung von LeetCode (196. Doppelte Postfächer löschen)
  • SQL-Implementierung LeetCode (185. Top drei der höchsten Gehälter in der Abteilung)
  • SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)
  • SQL-Implementierung von LeetCode (183. Kunden, die noch nie eine Bestellung aufgegeben haben)
  • SQL-Implementierung von LeetCode (182. Doppelte Postfächer)
  • SQL implementiert LeetCode (180. Fortlaufende Zahlen)
  • C++-Implementierung von LeetCode (179. Maximale Anzahl an Kombinationen)
  • SQL-Implementierung von LeetCode (197. Steigende Temperatur)

<<:  So verwenden Sie CSS, um das übergeordnete Container-Div mit img-Bildern zu füllen und die Containergröße anzupassen

>>:  So ändern Sie die Länge eines Eingabetextfelds entsprechend seinem Inhalt

Artikel empfehlen

11 Linux-KDE-Anwendungen, die Sie nicht kannten

KDE Abkürzung für Kool Desktop Environment. Eine ...

Farbschemata für Websites Die richtigen Farben für Ihre Website auswählen

Beeinflusst Farbe die Website-Besucher? Vor einig...

Erstellen Sie eine virtuelle Umgebung mit venv in Python3 in Ubuntu

1. Virtuelle Umgebung folgt dem Projekt, erstelle...

JavaScript zum Erzielen eines Lupeneffekts

In diesem Artikel wird der spezifische Code für J...

Implementierung des CSS-Ladeeffekts Pac-Man

emmm, der Name ist nur eine zufällige Vermutung 2...

So implementieren Sie Call, Apply und Binding in nativem JS

1. Implementieren Sie den Anruf Schritt: Legen Si...

So installieren Sie mehrere mysql5.7.19 (tar.gz)-Dateien unter Linux

Informationen zur ersten Installation der MySQL-5...

Sublime Text - Empfohlene Methode zum Festlegen von Browser-Tastenkombinationen

Codeeffekte werden häufig in unterschiedlichen Br...

Mehrere spezifische Methoden zur MySQL-Speicherplatzbereinigung

Inhaltsverzeichnis Vorwort 1. Überprüfen Sie die ...