inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

초보자를 위한 BigQuery(SQL) 입문

4-7. 조건문 연습 문제

3번 문제 질문!

22

로키마운틴듀

작성한 질문수 3

0


-- select
--   kor_name,total,
--   case
--     when total >= 501 then 'High' 
--     when total <= 300 then 'Low'
--     else 'Medium'
--   end as total_rank
-- from `basic.pokemon`

저는 High와 Low 범위를 정해놓고 나머지를 Medium 으로 Else에 넣었는데 이렇게 해도 될까요?

sql bigquery 데이터-리터러시

답변 2

0

카일스쿨

넵 상관없습니다!! 논리적 구조만 맞으면 됩니다

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 로키마운틴듀님

작성하신 CASE 문처럼 조건을 명시하고 나머지를 ELSE로 처리하는 방식도 올바릅니다.

CASE
  WHEN total >= 501 THEN 'High'
  WHEN total <= 300 THEN 'Low'
  ELSE 'Medium'
END AS total_rank

위 조건에서는 다음과 같이 분류됩니다.

  • total >= 501High
  • total <= 300Low
  • 301 ~ 500 → 위 두 조건에 해당하지 않으므로 ELSE에 의해 Medium

따라서 문제에서 요구하는 범위가 301 이상 500 이하Medium으로 분류하는 것이라면 현재 쿼리로 해결할 수 있습니다. 다만 범위를 더 명확하게 표현하고 싶다면 아래처럼 작성할 수도 있습니다.

CASE
  WHEN total >= 501 THEN 'High'
  WHEN total BETWEEN 301 AND 500 THEN 'Medium'
  ELSE 'Low'
END AS total_rank

관련해서 BETWEEN의 범위와 조건문 작성에 대해 설명된 기존 답변도 참고해 주세요.

### 4-7 3번 BETWEEN의 범위

BETWEEN 301 AND 500은 양 끝값을 모두 포함하므로 301 이상 500 이하를 의미합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

1-2 battle 테이블 설정 질문 있습니다.

0

30

1

12강 집계 함수 8번 연습문제 질문

0

37

1

6-5 질문 있습니다!

0

51

3

vs code

0

88

2

수업자료 다운

0

104

2

쿼리 화면 문의

0

110

2

4-5. 3번 문제 질

0

103

2

JOIN 1번 문제

1

106

2

battle 테이블 생성 시 생성 오류

0

100

1

5-6. 4번 문제 WHERE 조건의 위치 문의

0

81

2

5-6. 연습문제 4번, type2에 대해서는 고려하지 않아도 될까요?

1

94

2

battle table 오류

0

111

2

location IS NOT NULL 을 굳이 안 써도 되지 않나요?

0

85

2

12강 집계 함수

0

71

1

2-6. 연습 문제 1~3번

0

68

1

안녕하세요! 11번 문제 query문에 관해 질문드립니다

0

74

1

2-6 #2 WHERE vs. HAVING절 사용 여부 차이

0

88

1

섹션 별 퀴즈

0

88

1

espanso 설치 완료 후 프로그램 실행 문제

0

150

2

Syntax에러

0

119

2

4-5. 1번 문제 TIMESTAMP 관련 질문

0

118

2

시각화 도구 사용

0

136

2

11번 문제 GROUP BY 사용하는 이유

0

121

1

big query 쿼리 결과 컬럼 폭

0

137

3