[SQL] 핵심 정리 노트

2025. 3. 6. 15:08·SQL/BigQuery

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) 쿼리 문법 : https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax

BigQuery 공식문서 화면 (25.02.14 기준)

  • 어떤 문법으로 쓰는지, 반환값의 타입(자료형)은 뭔지 등 상세하게 설명되어있음! (ex. CONCAT)

 

 

 

 


🙏References

  • 카일스쿨 님의 인프런 강의 (https://www.inflearn.com/course/%EC%B4%88%EB%B3%B4%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EB%B9%85%EC%BF%BC%EB%A6%AC-sql-%EC%9E%85%EB%AC%B8/dashboard) 를 참고하여 정리한 내용입니다.

'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
'SQL/BigQuery' 카테고리의 다른 글
  • [SQL] 12. 연습문제 풀이
  • [SQL] 11. 쿼리 가독성(WITH), 데이터 결과 검증
  • [SQL] 10. 데이터 연결 (JOIN)
  • [SQL] 9. 조건문 (CASE WHEN, IF)
simon919
simon919
개인적으로 공부한 내용을 기록하고 나누는 블로그입니다. 데이터 분석, 인공지능에 관한 내용을 주로 다룹니다.
  • simon919
    문과생의 AI 생존기
    simon919
  • 전체
    오늘
    어제
    • 분류 전체보기 (84)
      • ML & DL (38)
        • 머신러닝 기초 (23)
        • 딥러닝 기초 (6)
        • 데이터마이닝 (9)
      • Data structure & Algorithm (1)
      • SQL (21)
        • BigQuery (13)
        • MySQL (8)
      • Statistics (4)
        • 교육 연구를 위한 통계 (4)
        • Linear Algebra (0)
      • Python (17)
        • Pandas (16)
        • Matplotlib (0)
        • Numpy (0)
        • Web Crawling (1)
      • Projects (0)
      • Etc. (3)
  • 블로그 메뉴

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

  • 공지사항

    • 글자가 깨지면 새로고침 해주세요 :)
  • 인기 글

  • 태그

    해커랭크
    블로그 스킨
    HELLO 스킨
    최우수혼공족
    특성맵 시각화
    kmooc
    데이터마이닝
    Functional API
    Bayesian Optimization
    google cloud
    mysql
    통계학 기초
    혼공학습단
    agglomerative
    SQL코딩테스트
    티스토리 스킨
    kmeans
    MaxPooling2D
    BigQuery
    리트코드
    SQL문제풀이
    SQL
    Conv2d
    silhouette index
    혼공머신
    Xai
    ml기초
    교육통계
    pytorch
    pandas
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
simon919
[SQL] 핵심 정리 노트
상단으로

티스토리툴바