강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

positivejmk님의 프로필 이미지
positivejmk

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 고급 SQL

리트코드 조인 조건이 특이한 문제 풀이 + 2개 이상 셀프 조인하기

WHERE 조건 질문드립니다.

작성

·

211

1

강사님께,

 

안녕하세요.

우선 SQL 강의를 초급부터 계속 따라오고 있는데 흥미롭게 잘 듣고 있습니다. 좋은 강의에 감사드립니다.

 

그리고 이번 문제를 풀면서 의문점이 생겨 이렇게 질문 드립니다.

 

제가 처음에 작성한 코드는

 

SELECT DISTINCT L1.num AS ConsecutiveNums

FROM Logs AS L1

    INNER JOIN Logs AS L2 ON L1.id = L2.id-1

    INNER JOIN Logs AS L3 ON L2.id = L3.id-1

WHERE L1.num = L2.num = L3.num

 

이것인데요. Run Code시에는 문제가 없었지만, Submit에선 WrongAnswer이 되었습니다.

 

그런데 강의 내용과 동일하게 WHERE 조건을 설정하여 아래와 같이 작성한 경우에는, Submit에도 통과되었습니다.

 

SELECT DISTINCT L1.num AS ConsecutiveNums

FROM Logs AS L1

    INNER JOIN Logs AS L2 ON L1.id = L2.id-1

    INNER JOIN Logs AS L3 ON L2.id = L3.id-1

WHERE L1.num = L2.num AND L1.num = L3.num

 

제가 느끼기엔 두 가지가 동일한 조건처럼 느껴지는데, 왜 이런 차이가 발생하는지 여쭙고 싶습니다.

그럼 답변을 기다리겠습니다!

감사합니다.

답변 1

0

송혜정님의 프로필 이미지
송혜정
지식공유자

안녕하세요 positivejmk님, 답변 드립니다.

 

SQL에서 WHERE절에 두 개 이상의 조건을 사용할 때는 AND, OR와 같은 논리 연산자를 사용합니다.
따라서 두 개 이상의 조건을 사용하실 때는 A = B AND B = C 와 같이 작성해주셔야 합니다.

참고하실 수 있는 웹페이지를 첨부합니다 :)

[MySQL Tutorial] WHERE

The search_condition is a combination of one or more expressions using the logical operator ANDOR and NOT.

positivejmk님의 프로필 이미지
positivejmk
질문자

감사합니다!

positivejmk님의 프로필 이미지
positivejmk

작성한 질문수

질문하기