반응형

https://leetcode.com/problems/department-highest-salary/

 

Department Highest Salary - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

FROM절 서브쿼리, JOIN

 

SELECT D.NAME AS DEPARTMENT,
        E.NAME AS EMPLOYEE,
        E.SALARY AS SALARY
FROM EMPLOYEE E
JOIN (SELECT DEPARTMENTID, MAX(SALARY) AS MX_SAL
FROM EMPLOYEE
GROUP BY DEPARTMENTID) SUB ON E.SALARY = SUB.MX_SAL 
                            AND E.DEPARTMENTID = SUB.DEPARTMENTID
JOIN DEPARTMENT D ON E.DEPARTMENTID = D.ID

 

Window Func

SELECT EMP_INFO.DEPT_NAME AS Department,
       EMP_INFO.EMP_NAME AS Employee,
       EMP_INFO.SALARY AS Salary
FROM (
    SELECT E.NAME AS EMP_NAME, 
           D.NAME AS DEPT_NAME, 
           E.SALARY,
           MAX(SALARY) OVER(PARTITION BY DEPARTMENTID) AS MAX_SAL
    FROM EMPLOYEE E
    JOIN DEPARTMENT D ON E.DEPARTMENTID = D.ID) EMP_INFO
WHERE EMP_INFO.SALARY = EMP_INFO.MAX_SAL
반응형

'IT study > SQL' 카테고리의 다른 글

HackerRank : The Report  (0) 2021.10.22
HackerRank : Challenges  (0) 2021.10.22
Challenges  (0) 2021.05.02
Ollivander's Inventory  (0) 2021.05.01
Top Competitors  (0) 2021.04.26

+ Recent posts