강의

멘토링

커뮤니티

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

기팝님의 프로필 이미지
기팝

작성한 질문수

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

WHERE 해커랭크 문제풀이 1 + 중복된 값을 빼주는 DISTINCT

오라클로도 해보았는데 이 문법이 틀린건가여 ??

작성

·

106

2

삭제된 글입니다

답변 2

3

 안녕하세요 저도학생인데 ORACLE로 둘다 풀이해보고 있는데요~!

저도 문제풀이는 제대로 한거같은데 실행이 안되길래 삽질하다가 찾아서 알려드리려고 답변남겨요.

일단
SELECT DISTINCT CITY

FROM STATION 

까지는 이해되시죠?

이렇게 하면 쿼리가 출력이 되는데요.. 잘 살펴보시면 문제에서 모음을 소문자로 제시한것과 달리

실제 조회된 쿼리에서는 모음으로 시작하는 CITY의 이름들이 대문자로 시작합니다.

  • Irvington
  • Aliso Viejo
  • Osage City

이런식으로요. 근데 중요한게, 

ORACLE은 SQL을 작성할때 SQL문은 대소문자를 구분하지 않지만

문자열 데이타형은 기본으로 대소문자를 구분합니다/!!

그렇기 때문에

SELECT DISTINCT CITY

FROM STATION

WHERE 

city LIKE 'I%' 

OR city LIKE 'A%' 

OR city LIKE 'E%' 

OR city LIKE 'O%' 

OR city LIKE 'U%';

이렇게 대문자로 LIKE 뒤를 작성해주여야 합니다. (CITY의 Type이 VARCHAR2인데 이건 문자열 가변길이 데이터 형식입니다.)

따라서 결론은 문자열 조건 쿼리를 작성하실때 먼저 SELECT (칼럼) FROM (테이블) 을 먼저 조회해보시고  WHERE조건문을 입력하는걸 추천드립니다^^

(UPPER, LOWER를 쓰는 방법이 있지만 아직 안배웠기 때문에..) 

0

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

안녕하세요 zpzp627123님

오라클의 경우 저희 강의가 커버하는 범위가 아니기 때문에 답변이 어렵습니다.
웹서핑을 통하여 MySQL과 다르게 사용되는 문법이 있는지 확인해보시는 것이 좋으실 것으로 생각됩니다.

감사합니다.

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기