SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)

SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)

[LeetCode] 184. Abteilung Höchstes Gehalt

Die Mitarbeitertabelle enthält alle Mitarbeiter. Jeder Mitarbeiter hat eine ID, ein Gehalt und es gibt auch eine Spalte für die Abteilungs-ID.

+----+-------+--------+-----------+
| ID | Name | Gehalt | Abteilungs-ID |
+----+-------+--------+-----------+
| 1 | Thomas | 70000 | 1 |
| 2 | Heinrich | 80000 | 2 |
| 3 | Sam | 60000 | 2 |
| 4 | Max | 90000 | 1 |
+----+-------+--------+-----------+

Die Abteilungstabelle enthält alle Abteilungen des Unternehmens.

+----+----------+
| Ich würde | Name |
+----+----------+
| 1 | ES |
| 2 | Verkauf |
+----+----------+

Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter mit dem höchsten Gehalt in jeder Abteilung zu finden. In den obigen Tabellen hat Max das höchste Gehalt in der IT-Abteilung und Henry das höchste Gehalt in der Vertriebsabteilung.

+------------+----------+--------+
| Abteilung | Mitarbeiter | Gehalt |
+------------+----------+--------+
| IT | Max | 90000 |
| Verkauf | Henry | 80000 |
+------------+----------+--------+

Diese Frage gibt uns zwei Tabellen, Mitarbeiter und Abteilung, und fordert uns auf, die Person mit dem höchsten Gehalt in der Abteilung zu finden. Tatsächlich ist diese Frage eine Kombination aus Zweithöchstes Gehalt und Zwei Tabellen kombinieren . Wir müssen die beiden Tabellen kombinieren und das höchste Gehalt finden. Also schneiden wir zuerst die beiden Tabellen, markieren dann die erforderlichen Spalten in der Ergebnistabelle und finden dann das höchste Gehalt. Wir verwenden dazu das Schlüsselwort Max. Siehe den Code unten:

Lösung 1:

SELECT d.Name AS Abteilung, e1.Name AS Mitarbeiter, e1.Gehalt FROM Mitarbeiter e1
JOIN Abteilung d ON e1.DepartmentId = d.Id WHERE Gehalt IN 
(SELECT MAX(Gehalt) FROM Mitarbeiter e2 WHERE e1.DepartmentId = e2.DepartmentId);

Wir können auch Where verwenden, um die beiden Tabellen ohne das Schlüsselwort Join zu verbinden und dann das höchste Gehalt auf die gleiche Weise wie oben zu ermitteln:

Lösung 2:

SELECT d.Name AS Abteilung, e.Name AS Mitarbeiter, e.Gehalt FROM Mitarbeiter e, Abteilung d
WO e.DepartmentId = d.Id UND e.Gehalt = (SELECT MAX(Gehalt) VON Mitarbeiter e2 WO e2.DepartmentId = d.Id);

Die folgende Methode verwendet nicht das Schlüsselwort Max, sondern das Symbol >=, das denselben Effekt wie das Schlüsselwort Max erzielt. Siehe den Code unten:

Lösung 3:

SELECT d.Name AS Abteilung, e.Name AS Mitarbeiter, e.Gehalt FROM Mitarbeiter e, Abteilung d
WO e.DepartmentId = d.Id UND e.Salary >= ALLE (WÄHLEN Sie Gehalt AUS Mitarbeiter e2, WO e2.DepartmentId = d.Id);

Ähnliche Themen:

Zweithöchstes Gehalt

Zwei Tabellen kombinieren

Dies ist das Ende dieses Artikels über die SQL-Implementierung von LeetCode (184. Das höchste Gehalt in der Abteilung). Weitere relevante Inhalte zur SQL-Implementierung des höchsten Gehalts in der Abteilung finden Sie in früheren Artikeln auf 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 (183. Kunden, die noch nie eine Bestellung aufgegeben haben)
  • SQL-Implementierung von LeetCode (182. Doppelte Postfächer)
  • SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)
  • SQL implementiert LeetCode (180. Fortlaufende Zahlen)
  • C++-Implementierung von LeetCode (179. Maximale Anzahl an Kombinationen)
  • SQL-Implementierung von LeetCode (197. Steigende Temperatur)

<<:  So passen Sie die Textgröße im Webdesign an: Kleiner Text, großes Erlebnis

>>:  Methode zur Implementierung von Website-Hintergrundmusik

Artikel empfehlen

Native JS-Canvas zum Erzielen einer einfachen Schlange

In diesem Artikel wird der spezifische Code von J...

Detaillierte Schritte zum Konfigurieren des Tomcat-Servers in IDEA 2020

Die Schritte zum Konfigurieren von Tomcat in IDEA...

Natives JS zur Implementierung eines Hover-Dropdown-Menüs

JS implementiert ein Hover-Dropdown-Menü. Dies is...

Detaillierte Erläuterung der dauerhaften Speicherung von Redis unter Docker

In diesem Kapitel beginnen wir mit dem Betrieb vo...

Detaillierte Erklärung der MySQL-Alter-Ignore-Syntax

Als ich heute bei der Arbeit war, wurde mir von d...

So konfigurieren Sie eine statische Netzwerkverbindung in Linux

Das Konfigurieren der Netzwerkkonnektivität für L...

Analyse des Verwendungsbeispiels für den Common Table Expression CTE in mysql8

Dieser Artikel beschreibt anhand eines Beispiels ...

Erweiterte Erklärung der Javascript-Funktionen

Inhaltsverzeichnis Funktionsdefinitionsmethode Fu...

So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

Nachfolgend finden Sie den Code zum Erstellen ein...

Optionsfelder und Multiple-Choice-Schaltflächen werden mit Bildern gestaltet

Ich habe schon Leute fragen hören, wie man Options...