inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

CASE 해커랭크 문제풀이

-- 한 줄 주석처리 적용 안되는 문제 질문드려요~!

546

이상현

작성한 질문수 21

1

SELECT

    CASE

        WHEN (A + B <= C) OR (B + C <= A) OR (C + A <= B) THEN 'Not A Triangle'

        WHEN (A = B AND B <> C) OR (B = C AND C <> A) OR (C = A AND A <> B)THEN 'Isosceles'

        WHEN A = B AND B = C THEN 'Equilateral'

        --WHEN (A <> B) AND (B <> C) AND (C <> A) THEN 'Scalene'

        ELSE 'Scalene' 

     END

FROM triangles;

 

질문1)

빨간색 부분이 제가 원래 작성했었던 WHEN THEN 구문인데요, else로 처리 하는 게 간명하다고 생각되어, 주석처리 한 후 ELSE 문으로 작성하였는데, 계속 오류가 뜨더라구요.

주석 처리된 부분을 지우면 정답처리 되었습니다.

주석처리한 줄은 결과에 영향을 안미쳐야하는데, 어떻게 된 것일까요...?

 

질문2)

밑줄친 부분처럼 조건을 작성할 경우, 정삼각형 조건과 순서에 상관 없이 적용이 잘 되는데요, 이렇게 작성해도 되겠죠?혹시 조건이 길어져서 더 안좋다던가 하는 게 있나요?

주석 sql

답변 1

2

이보민

안녕하세요 이상현님

1) 아래와 같이 주석처리(--) 후 코드 시작 전 띄어쓰기를 해주시면 에러가 나지 않고 주석처리가 됩니다. 에디터 오류인 것 같습니다.

-- WHEN (A <> B) AND (B <> C) AND (C <> A) THEN 'Scalene'

2) 말씀해주신 정도의 연산 조건의 갯수나 순서 때문에 연산 속도에 큰 영향이 있을 것 같지는 않아 보입니다. 쿼리 속도와 관련해서는 실제 DB에 셋팅된 조건과 인프라 상황에 따라 달라질 수 있으므로 정확하게 답변드리기 어려운 점 양해 부탁드립니다.

0

이상현

띄어쓰기를 해야했군요.. 답변 감사합니다^^

리트코드 1280. Students and Examinations

0

77

3

16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문

0

90

2

African Cities 문제관련 질문

0

57

1

SQL 코딩테스트 질문

0

211

1

HACKER RANK에서 문제찾기

0

100

2

강의 자료 다운로드

0

91

2

Asian population 문제가 없어요

0

78

2

INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'

0

69

2

별칭 관련해서 질문 있습니다.

0

81

2

rising temperature 문제 질문

0

99

2

해커랭크 TOP EARNERS 문제 질문

0

101

1

ON 뒤에 질문

0

97

2

INNER JOIN 질문. 강의와 결과값이 다릅니다.

0

200

3

END, 뒤에 * 붙이면 에러가 뜹니다

1

205

2

CustomerID가 중복되서 나타나요

0

235

3

별칭이 전체 테이블을 못 불러와요.

0

145

2

CASE WHEN 쿼리 오류 문의

1

325

3

CASE문제풀이 질문

0

127

1

Customers Who Never Order 풀다가 Alias관련 질문사항

0

139

1

Average Population 질문

0

131

1

Revising Aggregations - The Count Function 질문

0

105

1

Average Population of Each Continent 에대해서 질문

0

194

3

w3schools 에서 쿼리 작성 질문

0

160

1

INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?

0

330

1