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

HTML-Tutorial, leicht zu erlernende HTML-Sprache

1. <body background=Bilddateiname bgcolor=Farb...

So ändern Sie den Hostnamen in Linux

1. Den aktuellen Hostnamen anzeigen [root@fangjia...

Implementierungscode des JQuery-Schrittfortschrittsachsen-Plug-Ins

Jeden Tag ein jQuery-Plugin - Schritt-Fortschritt...

MySQL-unabhängiger Index und gemeinsame Indexauswahl

Häufig fehlt das Verständnis für mehrspaltige Ind...

Richtiger Einsatz von MySQL-Partitionstabellen

Übersicht über partitionierte MySQL-Tabellen Wir ...

So erstellen Sie einen NFS-Dienst in Ubuntu 16.04

Einführung in NFS NFS (Network File System) ist e...

Implementierung der MySQL GRANT-Benutzerautorisierung

Bei der Autorisierung geht es darum, einem Benutz...

Der Unterschied und die Verwendung von LocalStorage und SessionStorage in Vue

Inhaltsverzeichnis Was ist LocalStorage Was ist S...

So speichern Sie „false“ oder „true“ in MySQL

Boolescher MySQL-Wert, speichert „false“ oder „tr...

mysql5.7.21.zip Installations-Tutorial

Der detaillierte Installationsprozess von mysql5....