inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1번, 2번, 3번 문제 풀이

Weather observation station 11 문제 not like

363

Ria Eunhye Park

작성한 질문수 1

-1

select distinct city
from station
where city not like '%a%' or
city not like '%e%' or
city not like '%i%' or
city not like '%o%' or
city not like '%u%'

위 쿼리는 제가 작성한 쿼리입니다

이렇게 쿼리 작성하는건 문제에서 말하는 의도는 맞긴한 것 같은데 값 산출이 안되더라구요

다른분이 적어주신 코드(아래)를 보면 or로 연결을하고있는데

한번에 and조건으로 '%a%' 로 하면안되는건지 궁금합니다.

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'

sql

답변 1

1

지식공유자 J

문제에서 요구하는 바는
1) 모음으로 시작하지 않거나 (either do not start with vowels or)
2) 모음으로 끝나지 않는 값 (do not end with vowels) 을 찾는 것입니다.


1번 조건에 부합하는 값은 모음으로 끝나도 되고 자음으로 끝나도 되는데, 맨 처음 문자만 모음이 아니면 됩니다.
가령 'Tokyo'는 모음으로 시작하지 않는 값이기 때문에 1번 조건에 부합해서 반환이 됩니다.
그런데 만약 not like '%o%'로 조건을 줬다면 반환되지 못합니다.
이 조건은 o의 앞에 어떤 문자가 있거나 o의 뒤에 어떤 문자가 있는 값, 다시 말하면 문자열의 어느 위치에든 o가 포함된 데이터를 전부 제외하라는 뜻이 되기 때문입니다.

그리고 두 번째 쿼리도 정답은 아닙니다.
위 조건 1)과 2)를 나눠 작성한 후 OR로 연결해 줘야 하기 때문에 아래와 같이 괄호를 활용해 작성해야 합니다.

WHERE (city NOT LIKE 'a%' 
       AND city NOT LIKE 'e%' ...) 
   OR (city NOT LIKE '%a' 
       AND city NOT LIKE '%e' ...)

섹션 4번에 2번 문제 질문입니다.

0

103

2

4번 문제

0

82

1

Top competitors 에서 having count(h.hacker_id)로 해도 되나요?

0

258

1

leetcode 620 group by 질문이요

0

202

2

강의 일시정지/ 기간연장 검토 요청

0

379

1

4번 문제 group by 질문

0

318

2

세트2 4번 문제풀이 해설에 관한 질문

0

353

2

Weather Observation Station 11_ not like 사용

0

266

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

282

1

Set2 4번문제 질문 - New Companies

0

315

1

WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?

-1

702

1

as 2 space-separated values. 무슨 말인가요???

0

429

1

Weather observation Station 11 관련 질문

1

372

2

4번문제풀이

0

452

1

섹션3. Weather Observation Station 18 문제 관련

0

372

2

섹션 2에 1,2번 문제풀이 관하여

0

431

1

기한연장문의

0

329

1

inner join 과 left join

1

594

1

4번 BST 문제 틀리는 이유

0

343

1

4번 문제 질문

0

288

1

620. Not Boring Movies 문제 질문드립니다

0

286

1

binary tree 질문 입니다.

0

296

1

Top Competitors 질문있습니다 ㅠㅠ

0

245

1

set4. 4번

0

319

1