brunch

You can make anything
by writing

C.S.Lewis

by hosi Dec 01. 2021

배경지식 0으로 시작하는 SQL맛보기 feat. 과몰입

DB에서 SQL 문장으로 데이터 뽑아보기 #코드스테이츠 PMB 8기

반성합니다

반성합니다

SQL... 마케팅에 본격적으로 발 들인 후, 내가 1순위로 배워야지 배워야지 했던 애증의 언어다. 퇴근 이후의 시간, 내 성장의 발판으로 쓰리라 다짐하며 SQLD 일정도 확인하고 인강(무기한이라 다행)도 끊었는데 ㅎㅎ 여타 다양한 게으른 이유로 PM으로 직무 전환을 시작한 이후 본격적으로 공부를 시작하게 되었다.


그간 지나쳐간 많은 PM/마케터 공고에서 SQL을 필수, 우대 조건으로 언급하고 있는 만큼 + 오늘 공부를 통해 다시 한번 필요성을 머릿속에 박아 넣은 만큼 SQL은 PMB 수료 이후에도 더 공부해봐야겠다. 내년 초 시험을 목표로, 그리고 현업에서 잘 사용할 수 있는 수준을 목표로 셀프 스터디를 다짐한다! 다만 천리길도 한걸음부터.. 오늘 블로깅의 주제!

❗️여러 DB에서 데이터를 추출해 원하는 내용만 확인할 수 있는 SQL 문장을 3개 이상 만들어보기

어떻게 쓰는지도 모르고, 배경지식이라곤 [SQL은 데이터베이스에서 원하는 정보를 불러올 수 있음]이 전부지만.. 예제를 통해 SQL에 배울 수 있는 좋은 사이트가 있어, 몇 가지 예제를 풀어본 뒤 필요한 데이터를 상상해보고, SQL 문장을 만들어보았다.



W3 스쿨즈

오늘 SQL 맛보기 진행에 도움을 줄 사이트는 W3스쿨즈(w3schools.com)다. 온라인으로 웹 기술을 배우는 교육용 웹 사이트다. SQL 외에도 HTML, CSS, JSON 등 개발 언어를 배울 수 있다. 좋았던 점은 따로 설치를 해야 하거나, DB가 없어도 SQL 문법 예제를 통해 배울 수 있다는 점이다! 차근차근 문법을 배워가도 좋지만, SQL은 (내 기준) 원하는 요청을 실행하는 명령이 직관적이라고 느껴졌기 때문에 예제로 바로 공부를 시작해보았다.


W3스쿨즈 말고도 생활코딩에서 좋은 한국어 강의를 제공하고 있다. 나는 초반 개념을 잡을 때 생활코딩의 도움을 많이 받았다. 다만 바로 페이지 내에서 예제를 풀어볼 순 없었어서 W3스쿨즈와 병행하는 것도 좋은 방법일 듯하다 ㅎㅎ



(좌)에서 문법을 먼저 배워도, (우)처럼 예제를 바로 풀어도 좋다!

우측 이미지에서 보이는 것처럼 SQL의 여러 가지 문법 예제를 스무 개 정도 풀어봤다. 기본 문법에 대한 지식이 없었기 때문에 바로바로 맞출 수는 없었지만, 몇 가지 문법을 습득한 후에는 쉬운 문제는 바로 풀 수 있었다.




SQL 실습해보기 feat. 과몰입

간단한 SQL 실습이지만 '어떤 데이터를 찾고 싶은지' 빠르게 아이디어를 내기 위해 과몰입을 진행해본다. 지금 나는 글로벌 직구 쇼핑몰의 마케터다ㅋㅋㅋ!


EVENT 1 Thomas Hardy의 이사

Customer ID = 4인 Thomas Hardy씨에게 문의가 들어왔다. 내일이 이삿날인데, 주소와 Postalcode를 바꾸고 싶단다. 이분은 회원정보 수정이란 걸 모르나? 이럴 때 Database를 어떻게 수정해야 할까?


UPDATE 명령어를 통해 하디씨의 정보를 바꿔주자!


짠! 하디씨의 주소가 서대문구로 변경되었다!



EVENT 2 수에즈 운하에 배가 꼈다!

우리 회사는 다음 주부터 프로모션을 진행하려고 한다. 앗 그런데 수에즈 운하에 배가 끼여버렸다!

프랑스에서 오는 수입품들이 배가 껴서 올 수 없다고 한다. 기획전 구성을 바꾸기 위해서 프랑스에서 오고 있는 제품이 어떤 것들인지 확인해봐야겠다.



먼저 프랑스 공급자 아이디를 찾아냈다. 이 공급자들과 통화 결과 역시 다음 주 프로모션에 차질이 생길 거라는 확답을 받았다 8ㅅ8(과몰입 중) 그렇다면 다음으로 프로모션 상품을 수정하기 위해 공급자 번호 18, 27, 28번이 어떤 제품을 공급하는지 체크하자!

(좀 더 심화된 명령어인 Join?을 알면 더 쉬웠겠지.. 다음엔 발전된 모습으로 나타나겠다ㅜ)



<1차 실패 8ㅅ8>

요렇게 하면 오류가 발생하는구나.....


<2차 실패...>

이렇게 해도 오류구나

왜 실패일까... 공급자 ID =18 한 개로만 실행시켜 보면 작동하는데... 역시 예제로만 공부하는 건 한계가 있긴 하다. 왜 틀린 건지 모르겠고, 전체적인 기본 문법 원리에 대해 모른 체로 '명령어'만 직관적으로 이해하고 있는 형국...



<3차 시도 = 성공!!!>

or을 사용해 겨우 성공했다.

기획전 예정 품목 10개 중 5개나 프랑스에서 오는 제품이었다. 기획전 컨셉을 대폭 수정해야 할 거 같다. 윗분들에게 보고를 올리러 가야겠다! 이게 일주일 안에 수정이 될까^^!!! (과몰입)




EVENT 3 회사 창립 14주년 기념 프로모션

기획전을 어찌어찌 무사히 마친 우리 회사. 그런데 어느새 회사 창립 14주년 기념일이 코앞이다! 기념으로 14달러짜리 상품에 큰 할인율을 적용하기로 결정됐다. 아니 그런데 사장님이 갑자기 '내년까지 잘 부탁한다는 의미로 15달러도 포함시켜!'라고 하셨다. 14달러~16달러 미만의 제품을 찾아보자!

첫 시도에 바로 성공 감격! 데이터를 내가 잘 찾아서(ㅋㅋㅋ) 우리 회사는 14주년 기념 프로모션을 잘 마쳤다!




SQL의 첫맛

오늘 데이터베이스를 공부하면서 여러 아티클에서 공통적으로 하는 이야기가 있었다. 'PM의 데이터베이스 이해는 필수적이다.' 도서관에서 필요한 책을 쏙쏙 찾아 읽듯, 데이터베이스의 구조를 잘 알고 있어야 원하는 데이터를 찾아낼 수 있기 때문이란다. 아티클을 읽으면서는 그저 당연한 '말'이라고 생각했다. 그런데 SQL 실습을 직접 해보니 이 말이 정말 체감되었다. '어떤 데이터를 뽑아볼까?" 이전에 선행되어야 하는 건 어떤 데이터가 있고, 어디에 그 데이터가 위치해 있는지 파악해야 한다는 것, 상황을 상상해 하나하나 부딪혀보니 확실하게 체감됐다.


다시 말해, 중요한 것은 "어떻게 개선할 수 있지?"를 알려면 "어떤 데이터를 찾아야 하지?" 이전에 "어떤 데이터가 어디에 있지? 에 대해 미리 파악하고 있어야 한다는 것! 그리고 새로운 것을 배운다는 즐거움도 있었다 ㅎㅎ. 중간중간 막히는 부분도 있었지만 답을 보기 전에 부딪혀 보는 과정이 의미 있었다. 내년 1~2월 중에는 제대로 공부에 집중해봐야겠다. 그리고 언제나 과몰입 ENFP는 망상과 함께 과제를 했더니 상당히 재밌었다. "아 어떡하지(고민).. 수에즈 운하 왜 막혔어..."


작가의 이전글 순도 100% 문과생과 함께 API 개념 이해해보기
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari