***이 페이지는 외부 공개용으로써 공개할 수 없는 정보는 제외 또는 부득이하게 임의의 값으로 대체했다는 점 참고 부탁드립니다.
<aside> 💡 어떤 결과물이 나와야할지 미리 생각해보기
</aside>
예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요!


처음에는 어떤 테이블에 어떤 데이터가 저장되어 있는지 확인하기 힘들 때가 많아요. (저도 여전히 그렇답니다)
그럴 때는 팀 노션 페이지에서 검색, 예상해서 쳐보기 등이 있는데 사실 물어보는 게 가장 빨라요.
또는 유추해 볼 수도 있어요.
예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요!
게시글 건수를 알고 싶으니까 '게시글'이라고 검색하면 뭔가 나오지 않을까?

'게시글' 검색 → '데이터 세트B'에 게시글 테이블 발견!
'게시글'이라는 테이블 안에는 다양한 스키마가 있어요. 스키마는 쉽게 말해서 테이블 열에 대표가 되는 값이에요. 아래 예시 테이블에 스키마는 id, 구성원 이겠죠?

실제로 캡쳐이미지처럼 데이터 세트B → 게시글을 누르면 오른쪽에 스키마 를 확인할 수 있어요.

오른쪽에 다양한 스키마를 볼 수 있어요. 해당 스키마를 보면서 어떤 것들이 해당 테이블에 저장되어 있는지 유추할 수 있어요. 그래도 잘 이해가 안된다면, 스키마 옆에 미리보기를 눌러볼까요?

미리보기를 통해 해당 스키마에 정확한 값이 무엇인지 확실히 알 수 있어요.
맨 처음 설명한 것처럼 '어떤 결과물이 나와야할지 생각해봤다면' SQL 문법에 따라 쿼리를 작성해야해요.
여기서는 SELECT, FROM, WHERE 만 기억하고 가요. →
SELECT → 난 이런이런 스키마를 보고 싶어
FROM → 이 테이블 안에 있는
WHERE → 이런이런 조건이 있는
예시) 올 한해 무료나눔 게시글 건수를 알고 싶어요!
SELECT id
FROM 당근마켓.데이터세트B.게시글
*해설) 게시글 테이블에 있는 id를 몽땅 불러와줘*
SELECT id
FROM 당근마켓.데이터세트B.게시글
WHERE
type = '중고거래' and
제목 like '%나눔%'
*해설) 게시글 테이블에 있는 id를 몽땅 불러와줘. type은 '중고거래'이어야 하고, 제목에는 '나눔'이 포함되어야해.*
SELECT id
FROM 당근마켓.데이터세트B.게시글
WHERE
type = '중고거래' and
제목 like '%나눔%' and
date(datetime(timestamp(created_at), 'Asia/Seoul')) >= '2020-01-01' and
date(datetime(timestamp(created_at), 'Asia/Seoul')) <= '2020-12-31' and
CAST(가격 AS numeric) = 0
*해설) 게시글 테이블에 있는 id를 몽땅 불러와줘.
type은 '중고거래'이어야 하고, 제목에는 '나눔'이 포함되어야해.
2020년 1월 1일부터 2020년 12월 31일 사이에 있는 것들만. 그리고 가격은 0원인 걸로만.*
SELECT count(id)
FROM 당근마켓.데이터세트B.게시글
WHERE
type = '중고거래' and
제목 like '%나눔%' and
date(datetime(timestamp(created_at), 'Asia/Seoul')) >= '2020-01-01' and
date(datetime(timestamp(created_at), 'Asia/Seoul')) <= '2020-12-31' and
CAST(가격 AS numeric) = 0
*해설) 게시글 테이블에 있는 id 개수를 몽땅 세줘.
type은 '중고거래'이어야 하고, 제목에는 '나눔'이 포함되어야해.
2020년 1월 1일부터 2020년 12월 31일 사이에 있는 것들만. 그리고 가격은 0원인 걸로만.*