Upgrade to Pro — share decks privately, control downloads, hide ads and more …

제프의 SQL 첫걸음(with BigQuery)

Avatar for onea onea
October 27, 2021

제프의 SQL 첫걸음(with BigQuery)

당근마켓 마케팅팀 재직 당시에 사내 마케팅팀에 공유했던 발표 자료입니다.
원본 노션 자료를 보다 직관적으로 만들었습니다.

이 자료는 외부 공개용으로써 공개할 수 없는 정보는 제외하였거나 부득이하게 임의의 값으로 대체했다는 점 참고 부탁드립니다.

원본 노션 링크: https://onea.notion.site/SQL-9988818921e244c298b0f57bd705ed96

Avatar for onea

onea

October 27, 2021

Other Decks in Technology

Transcript

  1. 당근마켓 마케팅팀 재직 당시에 마케팅팀 대상으로 진행한 기초 SQL 강의

    자료를 슬라이드 형태로 보다 직관적이게 만들었습니다. 이 자료는 외부 공개용으로써 공개할 수 없는 정보는 제외하였거나 부득이하게 임의의 값으로 대체했다는 점 참고 부탁드립니다. 발표 내용 원본인 도 참고해주세요. 노션 링크 - 한재원(제프, 당근마켓 재직 당시 닉네임)
  2. 데이터 쿼리를 짜기 전에.. “ 어떤 결과물이 나와야 할지 미리

    생각해보기 예시) 올 한 해 무료나눔 게시글 건수를 알고 싶어요!  올 한 해(2020년 전체  무료나눔(‘무료나눔’ 또는 ‘나눔’이 포함된 제목의 게시글  게시글 건수(게시글 건수 세기)
  3. 당근마켓 데이터 살펴보기 당근마켓 데이터는 여러 곳에 있지만 대표적으로 BigQuery를

    살펴보려고 해요. BigQuery 왼편 하단에 여러 개의 데이터세트가 있고 그 하위에 테이블이 있어요.
  4. 처음에는 어떤 테이블에 어떤 데이터가 저장되어 있는지 확인하기 힘들 때가

    많아요. (저도 여전히 그렇답니다) 그럴 때는 팀 노션 페이지에서 검색, 때려 맞추기(?) 등이 있는데 사실 물어보는 게 가장 빨라요. 또는 유추해 볼 수도 있어요. 한 번 유추해 볼까요?
  5. 예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요! 게시글 건수를

    알고 싶으니까 ‘게시글’이라고 검색하면 뭔가 나오지 않을까? ‘게시글’ 검색 → ‘데이터 세트B’에 ‘게시글’ 테이블 발견!
  6. ‘게시글’이라는 테이블 안에는 다양한 스키마가 있어요. 스키마는 쉽게 말해서 테이블

    열에 이에요. 아래 예시 테이블에 스키마는 이겠죠? 대표가 되는 값 id, 구성원
  7. 실제로 왼쪽 이미지처럼 데이터 세트B → 게시글을 누르면 오른쪽에 스키마를

    확인할 수 있어요. 해당 스키마를 보면서 어떤 것들이 해당 테이블에 저장되어 있는지 유추할 수 있어요. 그래도 잘 이해가 안된다면, 스키마 옆에 미리보기를 눌러볼까요?
  8. 이제 데이터를 뽑아서 보고 싶어요 맨 처음 설명한 것처럼, 해보셨나요?

    생각을 모두 마치셨다면, SQL 문법에 따라 쿼리를 작성해야해요. 어떤 결과물이 나와야 할지 미리 생각 여기서는 만 기억하고 가요. SELECT, FROM, WHERE
  9. 예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요! #1 2

    올 한해(2020년 전체X 2 무료나눔(‘무료나눔’ 또는 ‘나눔’이 포함된 제목의 게시글X 2 게시글 건수(게시글 건수 세기)
  10. 예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요! #2 2

    올 한해(2020년 전체X 2 무료나눔(‘무료나눔’ 또는 ‘나눔’이 포함된 제목의 게시글X 2 게시글 건수(게시글 건수 세기)
  11. #3 예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요! 2

    올 한해(2020년 전체X 2 무료나눔(‘무료나눔’ 또는 ‘나눔’이 포함된 제목의 게시글X 2 게시글 건수(게시글 건수 세기)
  12. 예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요! 0 올

    한해(2020년 전체V 0 무료나눔(‘무료나눔’ 또는 ‘나눔’이 포함된 제목의 게시글V 0 게시글 건수(게시글 건수 세기) #4
  13. 연습 문제 % 나눔의 날에 나눔 는 몇일까 % 에

    된 게시글 은 어떻게 구할까? 2020년 11월 게시글 건수 2020년 11월 거래완료 금액의 총합 힌트v ‚ 총합을 구하는 쿼리문은 [SUM(해당 스키마)V ‚ 거래상태의 스키마는 [상태]이고, 거래완료 값은 [완료]이다.
  14. 결과값 저장하기 (1 쿼리문을 작성하고 실행한 후에 '결과 저장'을 눌러요

    2. 여기서 다양한 결과값으로 저장할 수 있는데, 보통 Google 스프레드시트를 활용해요.