inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

2번 문제

211

l2ej

작성한 질문수 2

0

select distinct(city)
from station
where left(city,1) <> 'a'
or left(city,1) <> 'e'
or left(city,1) <> 'i'
or left(city,1) <> 'o'
or left(city,1) <> 'u'
or right(city,1) <> 'a'
or right(city,1) <> 'e'
or right(city,1) <> 'i'
or right(city,1) <> 'o'
or right(city,1) <> 'u'
 
저는 이렇게 쿼리를 짰는데 틀린 답이라고 나옵니다. 왜 그런걸까요?

sql

답변 1

1

지식공유자 J

WHERE 절에 작성해 주신 첫 번째, 두 번째 조건의 의미를 하나씩 살펴 보면 다음과 같습니다. 

1. LEFT(city, 1) <> 'a' : city의 첫 글자가 'a'가 아닌 것, 즉 'a'를 제외한 모든 알파벳으로 시작하는 city
2. LEFT(city, 1) <> 'e' : city의 첫 글자가 'e'가 아닌 것, 즉 'e'를 제외한 모든 알파벳으로 시작하는 city  

이 두 조건을 OR로 묶으셨기 때문에 이 쿼리는 합집합을 출력합니다.
1번 조건으로 'a'로 시작하는 city를 제외했더라도 2번 조건에 'a'로 시작하는 city가 포함되고, 
이 둘의 합집합이므로 결국 'a'로 시작하는 city 또한 결과 데이터로 나오게 됩니다.

전체 쿼리를 보면 10개 조건의 합집합, 결과적으로 station 테이블에 있는 모든 city명을 출력하게 됩니다. 

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

0

108

2

4번 문제

0

91

1

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

0

268

1

leetcode 620 group by 질문이요

0

210

2

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

0

386

1

4번 문제 group by 질문

0

325

2

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

0

359

2

Weather Observation Station 11_ not like 사용

0

270

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

289

1

Set2 4번문제 질문 - New Companies

0

319

1

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

-1

714

1

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

0

434

1

Weather observation Station 11 관련 질문

1

378

2

4번문제풀이

0

458

1

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

0

378

2

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

0

435

1

기한연장문의

0

332

1

Weather observation station 11 문제 not like

-1

371

1

inner join 과 left join

1

600

1

4번 BST 문제 틀리는 이유

0

348

1

4번 문제 질문

0

291

1

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

0

290

1

binary tree 질문 입니다.

0

301

1

Top Competitors 질문있습니다 ㅠㅠ

0

248

1