♟️ 알고리즘/Leetcode
[MySQL][Leet Code] 197. Rising Temperature (Easy)
Jerry_K
2025. 2. 17. 21:27
https://leetcode.com/problems/rising-temperature/description/?envType=study-plan-v2&envId=top-sql-50
🗒️SQL 코드 풀이
SELECT id
FROM Weather W1
INNER JOIN
(
SELECT DATE_ADD(recordDate, INTERVAL 1 DAY) recordDate2, temperature
FROM Weather
) W2
ON W1.recordDate = W2.recordDate2
WHERE W1.temperature - W2.temperature > 0
1. 문제에서 요구하는 것은 간단하다. 전날과 비교해서 기온이 떨어지는 id를 출력하는 것이다.
2. 하지만 SQL에서 해당 문제를 풀려면 생각보다 복잡해진다.
3. 우선 DATE_ADD 함수에 INTERVAL 1을 준 테이블을 기존 테이블과 INNER JOIN 한다
4. 이후 기존 테이블의 temperature (현재) - temperature (과거) > 0 인 조건을 설정한다.
📌 문제 코멘트
문제 자체에서 요구하는게 간단해서 쉬울 줄 알았다 ...
파이썬 이런 언어와 다르게, SQL에서 이렇게 간단한 요구도 수행하기 어려웠다.
이번 챕터에서 기억해야하는 것은 아래와 같다.
DATE_ADD( "컬럼", INTERVAL N DAY)
INNER JOIN
그리고 앞으로 SQL 작성의 가독성을 높히기 위해,
인강에 나오는 것 처럼 들여쓰기를 해봐야겠다.