작성
·
177
1
안녕하세요.
LeetCode의 197. Rising Temperature 문제에서 Self Join을 할 때, 다음과 같이 INNER JOIN을 사용해주셨는데
/*
SELECT today.id as Id
FROM weather as today
INNER JOIN weather as yesterday ON datediff(today.recorddate, yesterday.recorddate) = 1
# datediff 함수 대신, date_add 함수를 다음과 같이 사용할수도 있다
# INNER JOIN weather as yesterday ON date_add(yesterday.recorddate, interval 1 day) = today.recorddate
WHERE today.temperature > yesterday.temperature
*/
Self Join 관련 구글링을 해보니, "INNER JOIN" 대신에 "CROSS JOIN" 또는 "JOIN"를 보통 사용하던데, 혹시 INNER JOIN을 사용하시는 특별한 이유가 있으신지 궁금합니다!
INNER JOIN, CROSS JOIN, JOIN 위 3가지 방법을 각각 수행했을 때, 출력 결과는 동일하던데
그러면 세 가지 방법들 중, 아무거나 사용해도 무방한건가요?
답변 2
1
안녕하세요. 답변이 늦어 죄송합니다.
INNER JOIN과 JOIN은 동일한 기능입니다.
INNER JOIN이라고 쓰는 것은 의미를 명확하게 보여주기 위함이지, JOIN과 기능면에서 차이가 없습니다.
CROSS JOIN과 INNER JOIN의 차이에 대해서는 아래 링크를 참고해서 관련 토론을 쭉 살펴보시면 도움이 될거예요.
https://stackoverflow.com/questions/17759687/cross-join-vs-inner-join-in-sql
질문해주셔서 감사합니다!
0