-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
SET3_ 문제 2번_Weather Observation Station 11 질문.
21.04.16 01:25 작성 조회수 91
1
안녕하세요,
저는 아래와 같이 쿼리를 짰는데요,
중간에 OR를 쓰면
(A AND B AND C AND D) OR (E AND F AND G AND H)
식으로 연산되는 것인지 궁금합니다.
괄호와 같은 것을 해주지 않아도 중간에 OR 해주면,
거기서부터
앞에 (A 조건과 B조건과 C조건과 D조건) 이거나 (E조건과 F조건과 G 조건과 H조건) 인 것을 출력하라. 라는 식이 되는 것인지 궁금합니다.
이렇게 중간에 끊어주는 것이 가능할지 고민이 됐었는데, 다행히 답은 맞았다고 나왔어요.
그런데 혹여 우연히 맞았을까봐 체킹합니다.
OR 문구만 '이거나'로 연산되고
그 이후에 나오는 'AND'조건들은 다시 앞서 나온 조건들과 '이고'의 형태로 연산되진 않을지요?
NOT LIKE 로 더 깔끔하게 푸는 방법이 있다면 그것도 알려주시면 감사하겠습니다.
---------
SELECT DISTINCT city
FROM station
WHERE city NOT LIKE 'a%'
AND city NOT LIKE 'e%'
AND city NOT LIKE 'i%'
AND city NOT LIKE 'o%'
AND city NOT LIKE 'u%'
OR city NOT LIKE '%a'
AND city NOT LIKE '%e'
AND city NOT LIKE '%i'
AND city NOT LIKE '%o'
AND city NOT LIKE '%u'
답변을 작성해보세요.
0
이보민
지식공유자2021.04.21
안녕하세요 snowballeffect.biz님
질문주신 쿼리와 같이 괄호 없는 OR로 조건이 연결될 경우 OR 문구만 '이거나'로 연산되고 그 이후에 나오는 'AND'조건들은 다시 앞서 나온 조건들과 '이고'의 형태로 연산되는 것이 맞습니다.
따라서 해당 문제에서 괄호 없이 OR로 조건을 연결하셨을 때에는 오답처리가 되어야 한다고 답변드릴 수 있을 것 같습니다. 해커랭크에서 해당 쿼리를 정답처리한 이유까지 정확히 확인하기는 어려우나 인터프리터의 단순 버그일 것으로 생각됩니다.
NOT LIKE를 이용한 방법으로는 제시해주신 방법이 가장 적합한 풀이인 것으로 생각됩니다.
감사합니다.
답변 1