SQL을 공부하며 배운 내용을 정리한 것이며, 개인적으로 기억하고 다시 찾아보기 위한 용도로 작성합니다.
- 링크가 없는 경우 : [BigQuery 기초] 글에서 다뤘던 내용
- 링크가 있는 경우 : 이후에 추가로 알게 된 내용
Last updated : 25.04.24
1. 쿼리 및 함수 정리
기본 쿼리 (추출, 조건)
- FROM
- WHERE
- AND, OR, NOT, IN
- IS NULL
- 비교연산자 (=, !=, <, >), BETWEEN(등호 포함)
- SELECT
- EXCEPT
- 컬럼끼리 사칙연산 가능 (+, -, *, /)
- CASE WHEN ~ END
- IF
- ORDER BY (OSC, DESC)
- `,`로 조건 여러 개 입력 가능 (첫 조건에서 동일 순서라면 다음 조건으로 정렬) 25.03.06
- LIMIT
집계/계산
- GROUP BY (필수), GROUP BY ALL
- HAVING (그룹화 후 조건)
- COUNT, DISTINCT, COUNTIF
- MAX, MIN
- AVG, SUM, SAFE_DIVIDE, MOD(나머지)
- AVG는 기본적으로 null 무시함. null을 0으로 취급해서 계산하고 싶으면 직접 SUM하고 COUNT로 나눠주기
데이터 타입
- CAST, SAFE_CAST
- INT, STRING, DATE, TIME, DATETIME, TIMESTAMP
숫자형 데이터
- CEIL(정수로 올림), FLOOR(정수로 내림)
- ROUND(n째자리까지 반올림), TRUNCATE(n째자리 뒤로 버림)
- POWER(n제곱), SQRT(제곱근), ABS(절댓값) 25.04.24
문자열 데이터
- LIKE "(와일드카드)"
- %는 여러 글자, _는 한 글자
- ex) 'Br'로 시작하는 문자열 = LIKE "Br%" / 'B' 뒤에 3글자 나오는 문자열 = LIKE "B___")
- CONCAT
- SPLIT
- REPLACE
- TRIM
- UPPER / LOWER
- (특정 부분 추출) LEFT / RIGHT / SUBSTR 25.03.06
날짜/시간 데이터
- TIMESTAMP_MILLIS, TIMESTAMP_MICROS
- DATE, CURRENT_DATE
- DATETIME, CURRENT_DATETIME
- EXTRACT(~ FROM DATETIME ~)
- DATETIME_TRUNC
- PARSE_DATETIME
- FORMAT_DATETIME
- LAST_DAY
- DATETIME_DIFF
데이터 연결
- INNER JOIN, LEFT/RIGHT JOIN, FULL JOIN ~ ON
- CROSS JOIN
테이블 조작
- WITH ~ AS
- UNION ALL
2. 공식 문서 활용 방법
👨🏫 대부분의 프로그래밍 언어, 라이브러리는 해당 기술을 어떻게 사용하면 좋은지 문서를 제공함.
처음엔 어려울 수 있는데 익숙해지면 빠르게 파악 가능하니까 보는 연습을 해두는 게 좋음!
보통 "기술명 + Documentation"으로 검색하면 나옴. (ex. "BigQuery documentation")
- BigQuery에서는 새로운 기능이 계속 업데이트됨 ⇒ 구글링해도 나오지 않기 때문에 공식문서 볼 줄 알아야 함!
- ex) CONCAT이 궁금하면 "BigQuery CONCAT document라고 검색
- 필요할 때마다 찾아보는 방식으로 학습하기! (👨🏫Slack에 RSS Feed 추가해두면 업데이트 소식 알려줌)
- 링크( https://cloud.google.com/bigquery/docs?hl=ko )접속하여 목적에 맞는 문서를 보면 됨
- 어떤 문법으로 쓰는지, 반환값의 타입(자료형)은 뭔지 등 상세하게 설명되어있음! (ex. CONCAT)
🙏References
'SQL > BigQuery' 카테고리의 다른 글
[SQL] 12. 연습문제 풀이 (0) | 2025.02.28 |
---|---|
[SQL] 11. 쿼리 가독성(WITH), 데이터 결과 검증 (0) | 2025.02.23 |
[SQL] 10. 데이터 연결 (JOIN) (2) | 2025.02.21 |
[SQL] 9. 조건문 (CASE WHEN, IF) (0) | 2025.02.15 |
[SQL] 8. 다양한 데이터 타입 (날짜 및 시간) (0) | 2025.02.13 |