강의

멘토링

커뮤니티

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

Katie Jin님의 프로필 이미지
Katie Jin

작성한 질문수

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

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

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

작성

·

14

0

Screenshot 2025-12-23 at 6.47.40 PM.png.webp
  • 제 쿼리문 작성 결과입니다.

  • 멘토님이 작성해주신 것과의 차이를 보았을 때 조건이 HAVING절로 표현되었는지 WHERE절로 표현되었는지에 대한 차이, GROUP BY에 type2에 대한 출력값도 요구한다는 점이 차이로 보입니다.

  • 강의 내용 중에 HAVING은 'GROUP BY 후 조건 설정할 때' 사용된다는 표현이 있어서 헷갈림이 있었던 것 같습니다.

  • 이 문제를 HAVING절을 사용하여서 푸는 방법도 있을지요? 그렇지 않다면 이유는 무엇이 되는지요?

감사합니다.

답변 1

0

카일스쿨님의 프로필 이미지
카일스쿨
지식공유자

안녕하세요.

WHERE은 FROM 절에 있는 컬럼에 조건을 설정할 때 사용합니다. 현재는 pokemon 테이블에 type2가 있기 때문에 WHERE에서 필터링을 먼저 하는 것이 더 좋습니다.

현재 HAVING으로 해도 결과는 동일하게 나오긴 하지만, WHERE이 더 연산 효율적입니다. WHERE로 먼저 데이터를 필터링하고 그 후에 집계하면 더 효율적입니다. HAVING으로 하면 집계를 한 후에 HAVING을 하는 것이구요

Katie Jin님의 프로필 이미지
Katie Jin

작성한 질문수

질문하기