강의

멘토링

커뮤니티

Inflearn Community Q&A

qkrtjgus19953635's profile image
qkrtjgus19953635

asked

Introduction to BigQuery (SQL) for Beginners

2-6. Practice Problems 10-12

2-6. 연습문제 12번

Resolved

Written on

·

122

0

연습문제 풀던 중에 궁금한 게 생겨서 여쭤봅니다!

12번에서 단일 포켓몬 중 많은 타입 1을 구할 때, 지금 데이터에선 type2가 null인 경우만 있지만, type1도 null인 경우도 있다고 가정하면,

where

(type2 is null) or (type1 is null)

처럼 or 조건으로 표현하면 될까요?

sqlbigquery데이터-리터러시

Answer 1

1

kyleschool님의 프로필 이미지
kyleschool
Instructor

서현님 안녕하세요. 두 컬럼(type1, typ2) 중 하나라도 NULL인 경우를 찾고 싶을 때 말씀하신대로 괄호를 쓰신 후 OR을 쓰시면 되어요. 둘 다 NULL인 경우엔 AND를 사용하면 됩니다

함수가 궁금하실 때 CTE를 사용해서 가상의 데이터를 만들고 내가 예상한 결과와 동일하게 나오는지 확인해보시면 도움이 되어요(공식 문서에도 CTE로 데이터를 만드는 부분에 대해 나와있어요)

 

쿼리 예시

WITH pokemon_data AS (
  SELECT 'Bulbasaur' AS name, 'Grass' AS type1, 'Poison' AS type2
  UNION ALL SELECT 'Charmander', 'Fire', NULL
  UNION ALL SELECT 'Squirtle', 'Water', NULL
  UNION ALL SELECT 'Pikachu', 'Electric', NULL
  UNION ALL SELECT 'Mew', 'Psychic', NULL
  UNION ALL SELECT 'MissingNo', NULL, NULL  -- 가상의 포켓몬, type1이 NULL
)

SELECT *
FROM pokemon_data
WHERE (type1 IS NULL) OR (type2 IS NULL)

 

결과

스크린샷 2024-07-31 오후 1.38.46.png

 

qkrtjgus19953635's profile image
qkrtjgus19953635

asked

Ask a question