전체 글(301)
-
[LeetCode] 511. Game Play Analysis I
https://leetcode.com/problems/game-play-analysis-i/ Game Play Analysis I - 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 GROUP BY를 활용하면 간단한 문제인데, 셀프조인으로 빙빙 돌려서 조건문 처리할 생각을 하던 나 자신.. 반성해..! Intuition Group rows into subgroups specific to each player with GROUP BY and then extract ..
2022.11.27 -
[LeetCode] 181. Employees Earning More Than Their Managers
https://leetcode.com/problems/calculate-special-bonus/?envType=study-plan&id=sql-i Calculate Special Bonus - 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 어차피 Manager도 Employee의 일부로 이것도 셀프 조인 문제로, 굉장히 많이 보였던 유형이다. SELECT e1.name AS Employee FROM Employee e1 JOIN Employee e2 ON e1..
2022.11.27 -
[LeetCode] 177. Nth Highest Salary
이 문제는 기본적으로 함수 템플릿이 있다. 이번 기회에 함수를 익히는 것도 좋은 일인 것 같다. CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN SET N = N - 1; RETURN ( # Write your MySQL query statement below. SELECT DISTINCT salary FROM Employee ORDER BY salary DESC LIMIT 1 OFFSET N ); END 만약 변수를 사용하고 싶다면 SET을 사용한다. 그리고 함수는 BEGIN, END로 감싼다.
2022.11.27 -
[MySQL] 196. Delete Duplicate Emails
이거 엄청나게 유용한 문제이다. 중복되는 row를 제거하는 문제이다. 셀프 조인하여 행 간의 비교를 수행하고, 같은 값을 같되 아이디가 다른 row가 존재하면 가장 작은 값만 남기고 나머지는 삭제한다. DELETE p1 FROM Person p1, Person p2 WHERE p1.email = p2.email AND p1.id > p2.id; 같은 테이블을 구분하기 위해 p1, p2라고 alias를 지정한다.
2022.11.27 -
[MySQL] 1873. Calculate Special Bonus
UPDATE 문 문제도 있었다! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ UPDATE에서도 CASE 문을 써서 vice versa하게 업데이트할 수 있다. UPDATE Salary SET sex = CASE sex WHEN 'm' THEN 'f' ELSE 'm' END;
2022.11.27 -
[MySQL] 1873. Calculate Special Bonus
https://leetcode.com/problems/calculate-special-bonus/?envType=study-plan&id=sql-i Calculate Special Bonus - 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 풀이 방식은 크게 2가지가 있다. 1. UNION 2. CASE WHEN THEN UNION의 경우에는 보너스가 있는 경우와 없는 경우를 합한다. SELECT employee_id, salary as bonus FROM em..
2022.11.27