쿼리를 작성할 때 생각해야할 것들
- 쿼리 작성 목표, 확인할 지표
- 쿼리 계산 방법
- 데이터의 기간
- 사용할 테이블
- 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 |