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

오민영님의 프로필 이미지
오민영

작성한 질문수

[개념반]배워서 바로 쓰는 SQL 쿼리

연습 문제 10-12 (Where)

in (a, b, c) 여기가 조금 헷갈립니다

작성

·

142

1

where country in ('Mexico', 'Sweden', 'USA')

보통 콤마를 사용해서 조건에 (A, B, C) 이런 식으로 쓰면 and 조건이라고 이해를 했어서 헷갈리는 부분이 있습니다.

지금 이 경우에는 country라는 컬럼명 내에서는 당연히 하나의 값만을 갖고 있기 때문에, (A, B, C) 이렇게 콤마로 쓰는 조건도 or로 해석이 된다고 이해하면 될까요? 

아니면 생각하려고 하지 말고 그냥 문법으로 받아들이면 되는 부분일까요?ㅎㅎ

답변 1

0

Joe님의 프로필 이미지
Joe
지식공유자

 

안녕하세요 민영님

 

이 경우에는 country라는 컬럼명 내에서는 당연히 하나의 값만을 갖고 있기 때문에, (A, B, C) 이렇게 콤마로 쓰는 조건도 or로 해석이 된다고 이해하면 될까요?

--> 코딩은 결코 암기가 아니지만 초반에 이런 문법활용 부분에 있어서는 그대로 받아들이는 부분도 어느정도 필요한 것 같아요.

 

 in이라는 연산자도 결국 SQL 어디인가에 만들어져있는 하나의 내부 Function일텐데 그렇다는건 이 부분을 만든 개발자가 어떻게 동작하게 할지 정해진대로 돌아가게 되어있게끔 만들어져 있을거거든요

 

생각하신대로 컬럼 내의 하나의 값 안에서 여러개의 값을 중복으로 가지는 케이스는 없으니 in은 or 조건이구나 하는 방법도 좋을 것 같습니다.

 

P.S

원리에 대해 생각을 계속 하는 것은 좋은 습관이라고 생각합니다 :->

오민영님의 프로필 이미지
오민영

작성한 질문수

질문하기