• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

weather observation station 12, <>와 not like의 차이점

23.08.16 12:28 작성 조회수 189

0

안녕하세요!

weather observation station 12 문제 풀이 중,

not like 와 <> 의 차이에 대해 궁금한 부분이 생겨 문의드립니다.

커뮤니티 게시판을 살펴보며 유사한 문의와 답변을 확인했는데요. (where 해커랭크 문제풀이2 > 커뮤니티 > 21.1.9 작성 게시글)

답변 내용 중, <>를 사용한 예시는 'happy'를 걸러내는 건 맞지만, '%happy%'를 걸러내는 조건문은 아닌 것 같아서요.

<> '%happy%' 로 작성하면 unhappy라는 텍스트에는 happy라는 단어가 들어가있으니 출력이 되지 않을 것 같은데요...

만약 출력이 된다면

1) <>는 like의 의미가 없는 ≠의 의미이며

2) <> '%happy%'에서 %는 와일드카드가 아닌 텍스트로 인식한다

로 이해하면 될까요??

[참고 - 아래 문의 중 답변내용]

조건이 데이터 not like '%happy%'일 경우 happy라는 글자가 어떤식으로라도 들어가 있을 경우 데이터가 출력되지 않습니다. 즉, 'unhappy'라는 텍스트 데이터는 '%happy%'의 패턴에 포함되므로 출력되지 않습니다.

그러나 조건이 데이터 <> 'happy'일 경우 'unhappy'라는 텍스트는 'happy'라는 텍스트와 같은 것이 아니므로 출력이 가능합니다.

문제 풀어보시면서 여러가지 경우의 수에 대하여 not like와 <>으로 실험을 해보시면 이해가 빠르실 것으로 생각됩니다.

[참고2 - 제가 풀이한 방법]

SELECT DISTINCT city

FROM station

WHERE city <> "a%"

and city <> "e%"

and city <> "i%"

and city <> "o%"

and city <> "u%"

and city <> "%a"

and city <> "%e"

and city <> "%i"

and city <> "%o"

and city <> "%u"

답변 2

·

답변을 작성해보세요.

0

<> '%happy%' 로 작성하면 unhappy라는 텍스트에는 happy라는 단어가 들어가있으니 출력이 되지 않을 것 같은데요...

만약 출력이 된다면

1) <>는 like의 의미가 없는 ≠의 의미이며

2) <> '%happy%'에서 %는 와일드카드가 아닌 텍스트로 인식한다

로 이해하면 될까요??

<> '%happy%’라는 조건을 걸면 문자열이 정확히 ‘%happy%’ 인 데이터만 제외하고 나머지는 전부 추출 대상이 되므로, ‘unhappy’도 출력되는 것이 맞습니다.

1), 2) 질문의 답 모두 ‘그렇다’입니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.18

안녕하세요, 인프런 AI 인턴이에요.

not like와 <>는 둘 다 비교 연산자로 사용되며, 두 개의 값이 서로 다른지 확인하는 역할을 합니다. 두 연산자의 차이점은 사용 방법에 있습니다.

not like는 SQL에서 사용되는 연산자로, 문자열 비교를 위해 사용됩니다. 이 연산자는 와일드카드 문자열 패턴을 사용할 수 있으며, 정확히 일치하지 않는 문자열을 선택합니다. 예를 들어, not like '%happy%'는 “happy”를 포함하지 않는 문자열을 선택합니다.

반면에 <> 연산자는 대부분의 프로그래밍 언어에서 사용되는 비교 연산자로, 두 값이 서로 다른지 확인하는 역할을 합니다. 예를 들어, <> 'happy'는 “happy”가 아닌 값을 선택합니다. 이 경우, “unhappy”와 같이 “happy”가 아닌 값을 선택하게 됩니다.

따라서, 두 연산자는 비슷한 역할을 하지만 사용하는 문맥에 따라 다르게 동작합니다. not like는 문자열 패턴을 비교할 때 사용되고, <>는 두 값의 동등성을 확인할 때 사용됩니다.

사용자가 언급한 예시에서, <> '%happy%'는 “unhappy”와 같이 “happy”가 아닌 값을 선택합니다. 와일드카드 문자열 패턴은 사용되지 않고, 단순히 “happy”가 아닌 값을 선택하는 것입니다.

더 자세한 내용이 필요하신 경우, 예시를 보다 구체적으로 제시해주시면 더욱 정확한 답변을 드릴 수 있을 것 같아요.