해당 내용은 초보자를 위한 BigQuery(SQL) 입문 강의를 기반으로 작성되었습니다.
1. SQL 쿼리 작성하는 흐름
흐름 | 함께 생각해야 할 것 | 내용 |
지표 고민 | 문제 정의 | 어떠한 문제를 해결하기 위해 해당 데이터가 필요한가? |
지표 구체화 | 1. 문제의 요구 조건을 파악할 수 있는가? 2. 어떤 값을 뽑아야 하는가? |
- 추상적이지 않고, 구체적인 지표 명시해야하며, 지표를 표시할때 분자와 분모를 같이 표시하면 좋다. - 이름을 구체적으로 작성해야 추상적이지 않고, 정의를 확실하게 파악할 수 있다. |
지표 탐색 | 유사한 문제를 해결한 케이스가 있나 확인 | 케이스가 있는 경우 - 위키나, 문서가 있다면 해당 문서를 보면서 어떤 지표를 사용했는지 - 그 지표를 추출하기 위해 어던 쿼리를 사용했는지에 대한 쿼리 리뷰 진행 - 웬만하면 있는 쿼리 활용 -> 효율적 케이스가 없는 경우 - 구글에 검색해서 어떤 특정 도메인의 메트릭을 추천했는지 - 생성형 AI 활용 - 쿼리 작성 |
쿼리 작성 | 사용하는 테이블 갯수 확인 - 1개인 경우, 그대로 활용 - 2개 이상인 겨웅, 테이블 연결 방법 고민 (JOIN) |
- 데이터가 있는 테이블(ERD) 찾기 - 테이블 명세나 컬럼에 대한 정의가 정리되어 있는 문서 참고 |
(원하는 결과가 나오면) 데이터 정합성 확인 |
예상한 결과와 동일한지 확인 | |
쿼리 가독성 | 나중을 위해 깔끔하게 쿼리 작성 | ex) 스타일 가이드 |
쿼리 저장 | 쿼리는 재사용되므로 문서로 저장 |
쿼리 작성 템플릿
쿼리 작성 템플릿 | |
1. 쿼리를 작성하는 목표, 확인할 지표 | - 어떤 지표를 보고 싶은지에 대한 정의를 작성한다. |
2. 쿼리 계산 방법 | - 집계를 하는가 - 집계가 아니라 칼럼을 쓰면 되는 건 아닌가 - 어떻게 계산을 하는가 등... |
3. 데이터의 기간 | - 데이터가 많을 수록 비용 발생, 속도 저하와 같은 현상이 발생하기 때문에 일부 부분만 쪼개서 데이터를 보고 정합성이 맞으면 데이터를 늘려서 다시 확인하는 방식으로 진행이 된다. 그렇기 때문에 데이터 기간을 항상 명시해야 한다. |
4. 사용할 테이블 | |
5. Join KEY | - 두 개 이상의 테이블을 연결할 때, join key를 무엇으로 잡을지 |
6. 데이터 특징 | - 어떤 컬럼은 어떤 값을 가지고 있는지 - 어떤 특징이 있는지 |
7. SELECT FROM WHERE |
기본이 되는 부분이기 때문에 자동 완성되도록 템플릿으로 사용한다. |
생산성 도구 : 템플릿 쉽게 사용하기
생산성 도구 ESPANSO (https://espanso.org)
트리거에 저장된 단어를 인식하면 저장되어 있는 템플릿 혹은 오늘 날짜 등 자동으로 불러오는 기능이다.
SQL 뿐만 아니라 일상생활에서도 많이 도움이 될 만한 친구이다.
설치 후 트리거 추가를 위해 해당 위치에 있는 match 파일을 열어야 한다.
# MAC
/Users/user/Library/Application Support/espanso/match
# Windows
C:/Users/user/AppData/Roaming/espanso/match
# 위치 확인 하기
espanso path
match 파일을 찾을 수 없다면 terminal을 열어서 폴더로 이동한 후 vscode를 열어주면 된다.
# [MAC] 해당 폴더로 이동
cd /Users/사용자이름/Library/'Application Support'/espanso
# vscode 열기
code .
vscode를 열고 match 파일 내부에 trigger 추가하는 부분에 아래 코드를 붙여넣는다.
- trigger: ":sql"
replace: |
# 쿼리를 작성하는 목표, 확인할 지표 :
# 쿼리 계산 방법 :
# 데이터의 기간 :
# 사용할 테이블 :
# Join KEY :
# 데이터 특징
SELECT
FROM
WHERE
작동 영상
오류를 디버깅하는 방법
에러 명 | 뜻 | 해결 방법 |
Systax error | 문법 오류 | - 문법을 지키지 않아 생기는 오류 - Error Message를 보고 번역 또는 해석(번역기 돌리기)한 후 해결 방법 찾아보기 1. 구글 검색 2. ChatGPT 질문 3. 지인 / 커뮤니티 질문 등... |
[3-4] 7분 이후
728x90
'DBMS > BigQuery' 카테고리의 다른 글
5 (0) | 2025.01.18 |
---|---|
데이터를 어떻게 변환할 것인가 (0) | 2025.01.17 |
데이터를 활용하고 확인하는 과정 (0) | 2025.01.16 |
BigQuery 환경 설정 방법 (0) | 2025.01.16 |
SQL 기초 지식 (BigQuery란?) (1) | 2025.01.16 |