쿼리 작성시 알아야하는 것

2025. 7. 29. 12:17·데이터 분석/01. BigQuery

쿼리를 작성할 때 생각해야할 것들

  • 쿼리 작성 목표, 확인할 지표
  • 쿼리 계산 방법
  • 데이터의 기간
  • 사용할 테이블
  • JOIN KEY
  • 데이터 특징

1. JOIN을 할 때는 기준이 되는 테이블이 내가 구하고자 하는 데이터가 어디에 제일 잘 저장되어 있는가를 고민해야한다.

2. 필터링을 하고 JOIN을 하는게 효율적이다.

고려해야할 것은 TABLE을 그대로 사용해야하는가 혹은 줄이고 쓰는게 목적에 맞는가를 생각해보자.

SELECT
 	kor_name,
    COUNT(tp.id) AS pokemon_cnt
FROM (
	SELECT 
		id,
    	trainer_id,
    	pokemon_id,
    	status
	FROM basic.trainer_pokemon
	WHERE
        status IN ('Active','Training')
) AS tp
LEFT JOIN basic.pokemon AS p
ON tp.pokemon_id = p.id
GROUP BY
	kor_name
ORDER BY
	pokemon_cnt DESC;

TIP!

WHERE 절에서 첫번째 줄은 1=1 사용하기

1=1은 무조건 TRUE를 반환합니다. 이것은 모든 ROW를 출력해라라는 의미입니다.

이건 쿼리를 작성할 때 값을 바꿔가면서 실행할 때 좋습니다!

조건이 많은 경우에 빠르게 주석처리를 할 수 있기때문인데요. 예시를 보여드리겠습니다

WHERE 
	1=1
    AND status = 'Active'
    AND status = 'Training'

앞에 쿼리는 생략하고 부분적으로 위와같은 쿼리가 있다고 해봅시다.

이때 1=1이 있으면 아래 AND status = 'Active'를 주석처리해도 실행이됩니다.

하지만 1=1이 없으면 

WHERE 
    status = 'Active'
    AND status = 'Training'

status 앞의 AND를 지워줘야하는 번거로움이 생깁니다. 

 

 

'데이터 분석 > 01. BigQuery' 카테고리의 다른 글

데이터 결과 검증 방법  (1) 2025.07.30
가독성있는 SQL쿼리 작성 방법!  (3) 2025.07.30
JOIN에서 헷갈리는 부분들!  (2) 2025.07.28
SQL 쿼리 잘 작성하고 싶다면??  (3) 2025.07.24
쿼리를 작성하기 전에 생각해야할 것!  (7) 2025.07.23
'데이터 분석/01. BigQuery' 카테고리의 다른 글
  • 데이터 결과 검증 방법
  • 가독성있는 SQL쿼리 작성 방법!
  • JOIN에서 헷갈리는 부분들!
  • SQL 쿼리 잘 작성하고 싶다면??
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    SQL
    ROW_NUMBER
    streamlit
    코테
    Reset
    solvesql
    tableau
    tableaubootcamp
    rank
    AARRR
    cross_join
    윈도우함수
    이행성
    코드잇스프린트후기
    git
    revert
    코딩테스트
    DENSE_RANK
    쿼리테스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
쿼리 작성시 알아야하는 것
상단으로

티스토리툴바