欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL實現(xiàn)LeetCode(184.系里最高薪水)

 更新時間:2021年08月04日 15:18:51   作者:Grandyang  
這篇文章主要介紹了SQL實現(xiàn)LeetCode(184.系里最高薪水),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

[LeetCode] 184.Department Highest Salary 系里最高薪水

The Employee table holds all employees. Every employee has an Id, a salary, and there is also a column for the department Id.

+----+-------+--------+--------------+
| Id | Name  | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |
| 4  | Max   | 90000  | 1            |
+----+-------+--------+--------------+

The Department table holds all departments of the company.

+----+----------+
| Id | Name     |
+----+----------+
| 1  | IT       |
| 2  | Sales    |
+----+----------+

Write a SQL query to find employees who have the highest salary in each of the departments. For the above tables, Max has the highest salary in the IT department and Henry has the highest salary in the Sales department.

+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT         | Max      | 90000  |
| Sales      | Henry    | 80000  |
+------------+----------+--------+

這道題讓給了我們兩張表,Employee表和Department表,讓我們找系里面薪水最高的人的,實際上這題是Second Highest SalaryCombine Two Tables的結合題,我們既需要聯(lián)合兩表,又要找到最高薪水,那么我們首先讓兩個表內交起來,然后將結果表需要的列都標明,然后就是要找最高的薪水,我們用Max關鍵字來實現(xiàn),參見代碼如下:

解法一:

SELECT d.Name AS Department, e1.Name AS Employee, e1.Salary FROM Employee e1
JOIN Department d ON e1.DepartmentId = d.Id WHERE Salary IN 
(SELECT MAX(Salary) FROM Employee e2 WHERE e1.DepartmentId = e2.DepartmentId);

我們也可以不用Join關鍵字,直接用Where將兩表連起來,然后找最高薪水的方法和上面相同:

解法二:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM Employee e, Department d
WHERE e.DepartmentId = d.Id AND e.Salary = (SELECT MAX(Salary) FROM Employee e2 WHERE e2.DepartmentId = d.Id);

下面這種方法沒用用到Max關鍵字,而是用了>=符號,實現(xiàn)的效果跟Max關鍵字相同,參見代碼如下:

解法三:

SELECT d.Name AS Department, e.Name AS Employee, e.Salary FROM Employee e, Department d
WHERE e.DepartmentId = d.Id AND e.Salary >= ALL (SELECT Salary FROM Employee e2 WHERE e2.DepartmentId = d.Id);

類似題目:

Second Highest Salary

Combine Two Tables

到此這篇關于SQL實現(xiàn)LeetCode(184.系里最高薪水)的文章就介紹到這了,更多相關SQL實現(xiàn)系里最高薪水內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Oracle與MySQL的區(qū)別及優(yōu)缺點

    Oracle與MySQL的區(qū)別及優(yōu)缺點

    這篇文章主要介紹了Oracle與MySQL的區(qū)別及優(yōu)缺點,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參加一下
    2022-08-08
  • 12個優(yōu)化MySQL的技巧小整理

    12個優(yōu)化MySQL的技巧小整理

    這篇文章主要介紹了12個優(yōu)化MySQL的技巧小整理,包括表連接和WHERE語句等基本的優(yōu)化點等內容,已經(jīng)了解的也不妨加深一下印象,需要的朋友可以參考下
    2015-06-06
  • Mysql獲取指定時間范圍數(shù)據(jù)的各種實例

    Mysql獲取指定時間范圍數(shù)據(jù)的各種實例

    最近在做管理后臺報表時,給定一個日期范圍,查出庫中這個日期范圍內的每一天數(shù)據(jù),下面這篇文章主要給大家介紹了關于Mysql獲取指定時間范圍數(shù)據(jù)的相關資料,需要的朋友可以參考下
    2023-05-05
  • MySQL group by和order by如何一起使用

    MySQL group by和order by如何一起使用

    這篇文章主要介紹了MySQL group by和order by如何一起使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • MySQL事務的基礎學習以及心得分享

    MySQL事務的基礎學習以及心得分享

    本篇內容是關于MySQL事務的基礎知識學習內容,并把學習中網(wǎng)友的心得做了總結,分享給大家,一起學習參考下吧。
    2017-12-12
  • 詳細深入聊一聊Mysql中的int(1)和int(11)

    詳細深入聊一聊Mysql中的int(1)和int(11)

    mysql數(shù)據(jù)庫作為當前常用的關系型數(shù)據(jù)庫,肯定會遇到設計表的需求,下面對設計表時int類型的設置進行分析,下面這篇文章主要給大家介紹了關于Mysql中int(1)和int(11)的相關資料,需要的朋友可以參考下
    2022-08-08
  • MySQL中的唯一性約束與NULL詳解

    MySQL中的唯一性約束與NULL詳解

    這里記錄的是很久之前的一個 bug 了,主要給大家介紹了關于MySQL中唯一性約束與NULL的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • MySQL 相關的環(huán)境變量

    MySQL 相關的環(huán)境變量

    所有使用mysqlclient客戶庫與服務器通信的MySQL客戶使用下列環(huán)境變量
    2009-06-06
  • MySQL數(shù)據(jù)庫show processlist指令使用解析

    MySQL數(shù)據(jù)庫show processlist指令使用解析

    這篇文章主要介紹了MySQL數(shù)據(jù)庫show processlist指令使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • MYSQL主從庫不同步故障一例解決方法

    MYSQL主從庫不同步故障一例解決方法

    第一次做完主從庫同步后正常,但工作過程中發(fā)現(xiàn)有一個庫的數(shù)據(jù)庫沒有同步起來,在另外一個mysql(3307)中
    2010-06-06

最新評論