inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

WHERE 해커랭크 문제풀이 2

WHERE 해커랭크 문제풀이 2

405

우물 밖 개구리

작성한 질문수 3

0

안녕하세요. WHERE 해커랭크 문제풀이 2 강의에서 

아래와 같이 코드를 작성했습니다. 

답은 맞다고 나왔지만 속도 측면을 비롯하여 그렇게 좋은 코드는 아닌 것 같아서 아래와 같이 작성하는 것도 맞는 것인지 질문 드립니다.

감사합니다.

--------------------------

SELECT DISTINCT city

FROM station

WHERE city NOT IN (SELECT city FROM station

                   WHERE city LIKE 'A%' 

                    OR city LIKE 'E%'

                    OR city LIKE 'I%'

                    OR city LIKE 'O%'

                    OR city LIKE 'U%'

                    OR city LIKE '%A'

                    OR city LIKE '%E'

                    OR city LIKE '%I'

                    OR city LIKE '%O'

                    OR city LIKE '%U');

LIKE sql in

답변 1

0

데이터리안

안녕하세요 진님,

벌써 쿼리의 속도까지 고려하고 계시다니 한발 앞서나가고 계시는군요!

문의주신 속도에 대한 내용은 쿼리 작성이라기보다는 성능 튜닝에 가까운 부분이라 엔지니어링에 가까운 영역이에요. 대용량 DB를 가공 할 때에는 공부가 필요한 내용이기는 하지만 개념도 용어도 쉽지 않은 영역이라 정확하게 답변이 어려운 점 양해 부탁드려요.

다만 쿼리 작성의 효율성을 위해서는 아래처럼 정규표현식이라는 기법을 사용해서 작성할 수도 있습니다. 해당 내용은 고급반 과정에서 다루는 내용이라 지금은 참고만 해보시면 좋을 것 같아요.

SELECT DISTINCT(CITY)
FROM STATION 
WHERE CITY REGEXP '^[^aeiou]' 
             AND CITY REGEXP '[^aeiou]$';

 

정규표현식을 작성 해볼 수 있는 사이트

- https://regexr.com/

 

아래 레퍼런스들에는 MySQL 쿼리 실행계획 보는 법, profile로 실제 쿼리 실행 시간 보는 법 등이 정리되어있으니 혹시 속도 관련해서 더 알고싶으시면 참고해보세요.

- https://jellybean.tistory.com/entry/explain?category=950637

- https://philip1994.tistory.com/58

WHERE절에 LIKE문법을 IN으로 묶어서 사용

0

45

1

수강기간 변경 요청

0

93

2

Revising the Select Query 1 문제에서 질문입니다.

0

65

1

SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?

0

83

1

수강기한

0

95

2

해커랭크 문제풀이 처음부터 난이도 높아서 틀렸는데요.

0

75

2

OR 조건 간소화

0

47

1

Weather Observation Station 6 쿼리가 틀렸다고 나오는 이유를 모르겠어요

0

60

1

비교연산자 질문

0

45

1

HackerRank 진행 도와주세요

0

105

2

Weather Observation Station 12에서 Wrong Answer이 뜹니다.

0

71

2

섹션 3 . 10 . 질문있습니다

0

77

1

Weather Observation Station 12 질문

0

59

1

COLUMN에 대해 이해 안됨

0

112

2

수업 ppt 강의안 자료

0

183

2

SELECT * FROM city; 질문입니다

0

135

2

CEIL, FLOOR 함수 질문

1

359

2

w3schools 에러

1

206

2

Weather Observation Station 12 IN변환 및 관련 질문

0

144

1

해커랭크 Employee Salaries 문제 질문

0

126

1

해커랭크 문제풀이 1 에서

0

130

1

SELECT는 뭘 불러오는거고 FROM 은 뭘불러오는건가요

-1

193

1

해커랭크 문제풀이 중

0

102

1

Revising the Select Query 1 문제가 약간 바뀌었어요

0

158

2