Showing Posts From
Sql
- 07 Dec, 2025
SQL 모른다고 했을 때 사수의 표정
그 침묵 "신기획님, 이번 주 사용자 데이터 뽑아서 분석 좀 해줄래요?" 사수가 말했다. 월요일 아침 10시 30분. "네, 알겠습니다." 대답은 했다. 그런데 뭘 어떻게 뽑는 건지 몰랐다. "데이터는 어디 있나요?" "DB에 있죠. SQL로 쿼리 날리면 돼요." 그 순간. "...SQL을 몰라서요." 내 입에서 나왔다. 작은 목소리로. 사수가 멈췄다. 키보드 치던 손을. 모니터 보던 시선을. 호흡까지. 3초 정도였을까. 아니 30초 같았다. "아... 그렇구나." 그게 전부였다. 사수는 다시 모니터를 봤다. 나는 그 침묵이 뭔지 알았다. '기획자인데 SQL을 몰라?' 그 말이었다. 소리 없이 들렸다.그날 오후 점심을 먹고 돌아왔다. 사수가 말했다. "신기획님, 일단 이번 건은 제가 할게요. 시간 나면 SQL 좀 공부해보세요." "네... 죄송합니다." "아니 괜찮아요. 근데 기획자도 기본적인 쿼리는 알아야 해서요." 기본적인. 그 단어가 찔렸다. 나는 2년 차다. 주니어 끝자락. 시니어 입구에서 발만 담근 상태. 그런데 기본을 모른다. 오후 내내 일이 손에 안 잡혔다. 화면 정의서를 켜놨는데 한 줄도 못 썼다. "이 화면에서 이탈률 높은 사용자 데이터 좀..." 개발자가 물어보면 어떡하지. "SQL로 뽑아서..." 그러면 또 어떡하지. 상상만 해도 식은땀이 났다.저녁에 검색했다 퇴근하고 원룸에 들어왔다. 7시 50분. 노트북을 켰다. 'SQL 기초 강의' 검색. 유튜브에 영상이 수백 개 떴다. 1시간짜리, 30분짜리, 10분짜리. "비전공자도 할 수 있는 SQL" "기획자를 위한 SQL 입문" "하루 만에 배우는 SQL" 제목을 보니까 화가 났다. 나한테. 2년 동안 뭐 했나. 왜 이걸 미뤘나. '나중에 배우면 되지' 했다. '개발자가 해주겠지' 했다. '기획자는 기획만 잘하면 되지' 했다. 그런데 아니었다. 사수의 침묵이 말해줬다. '기본도 모르면서 무슨 기획을 하냐'고. 첫 번째 영상을 틀었다. SELECT 문부터 시작이었다. SELECT * FROM users;이게 뭔지도 몰랐다. 별표가 뭔데. FROM이 뭔데. users가 테이블인 건가. 강의를 20분 들었다. 머리가 아팠다. 집중이 안 됐다. '이걸 다 배워야 하나.' 좌절감이 왔다. 노트북을 덮었다. 침대에 누웠다. 천장을 봤다.화요일 아침 출근했다. 사수는 평소처럼 인사했다. "어제 SQL 좀 봤어요?" "네... 조금요." 거짓말이었다. 20분 보다가 접었다. "괜찮아요. 천천히 해도 돼요. 급한 건 아니니까." 그 말이 더 부담이었다. 급하지 않다는 건, 언젠가는 할 수 있어야 한다는 뜻이다. 오전 회의가 있었다. 데이터팀장이 말했다. "지난주 사용자 코호트 분석 결과인데요..." 화면에 표가 떴다. 숫자가 가득했다. DAU, WAU, MAU, Retention Rate. 나는 받아적기만 했다. 무슨 말인지 절반도 모르면서. 회의가 끝나고 사수가 말했다. "신기획님, 저 데이터 어떻게 뽑았는지 알아요?" "...SQL이죠?" "맞아요. 코호트 분석은 쿼리가 좀 복잡한데, 기본만 알아도 이해는 할 수 있어요." 이해. 나는 이해도 못 하고 있었다. 점심시간에 혼자 먹었다. 편의점 도시락. 책상에서. 노션을 켰다. 'SQL 공부 계획' 페이지를 만들었다.1주차: SELECT 문 익히기 2주차: WHERE 조건절 3주차: JOIN 이해하기 4주차: 집계 함수타이핑하면서 한숨이 나왔다. 4주면 될까. 8주는 아닐까. 그리고 또 생각했다. '이거 배워서 뭐가 달라지지?' 수요일 밤 여자친구한테 말했다. 전화로. "나 SQL 모르는 거 오늘 들켰어." "그게 뭔데?" "데이터 뽑는 거. 기획자는 알아야 하는 건데." "그럼 배우면 되잖아." "...응." 간단하게 말했다. 여자친구는 디자이너다. SQL이 뭔지 모른다. "너 요즘 회사에서 스트레스 많이 받는 것 같아." "아니야. 괜찮아." 거짓말이었다. 매일 받는다. 전화를 끊고 유튜브를 켰다. 어제 본 강의 이어서. WHERE 절을 배웠다. 조건을 걸어서 데이터를 필터링하는 거. SELECT * FROM users WHERE age >= 20;20세 이상 사용자만 뽑는 쿼리. 이건 이해했다. 그런데 또 의문이 들었다. users 테이블은 어디 있지. age 컬럼은 어떻게 알지. DB 구조는 누가 알려주지. 질문이 꼬리를 물었다. 강의는 계속 진행됐다. 나는 멈춰 있었다. 1시간을 봤다. 손으로 따라 쳤다. 메모장에. 뭔가 배운 것 같았다. 그런데 아무것도 할 수 없었다. 자정이 넘어서 잤다. 목요일 점심 개발자가 말했다. 밥 먹으면서. "신기획님은 SQL 쓸 줄 알아요?" 갑자기 물었다. 심장이 쿵 했다. "아... 아니요. 지금 배우는 중이에요." "아 그렇구나. 저는 기획자분들이 다 쓸 줄 아는 줄 알았어요." 칼을 꽂았다. 모르고. "보통은... 다들 쓰나요?" "글쎄요. 근데 데이터 보려면 필요하지 않나요?" "맞아요. 그래서 지금 공부 중이에요." "어렵지 않아요. 기본만 알면 돼요." 또 '기본'이었다. 모두가 기본이라고 했다. 나만 모르는 기본. 식판을 들고 자리로 돌아왔다. 밥이 안 넘어갔다. 오후에 사수가 슬랙을 보냈다. "신기획님, 이번 주 신규 가입자 수 좀 확인해주실래요? 어드민 툴에서 볼 수 있어요." 어드민 툴. 다행이었다. SQL은 아니었다. 숫자를 확인했다. 243명. 보고했다. "감사합니다. 혹시 이 중에 20대 비율 알 수 있을까요?" 순간 멈췄다. 어드민 툴에는 전체 숫자만 있었다. 연령대별은 없었다. "...SQL로 봐야 할 것 같은데요." 타이핑하면서 손이 떨렸다. "아 그렇구나. 괜찮아요. 제가 볼게요." 또 사수가 했다. 내가 못 하는 걸. 금요일 오전 주간 회의가 있었다. 대표님도 참석했다. 사수가 발표했다. 이번 주 데이터 리포트. "신규 가입자는 243명입니다. 이 중 20대가 62%를 차지하고요..." 내가 물어봤던 그 숫자였다. 사수가 뽑았던. "좋네요. 20대 타겟팅이 먹히고 있네. 이 추세면 다음 달 목표 달성 가능하겠어요." 대표님이 말했다. 모두가 끄덕였다. 나도 끄덕였다. 그런데 속으로 생각했다. '저 숫자를 나는 못 뽑는다.' 회의가 끝나고 자리로 돌아왔다. 모니터를 켰다. 노션에 'SQL 공부 계획' 페이지가 열려 있었다. 일주일 전에 만든. 1주차 목표는 SELECT 문이었다. 체크박스는 비어 있었다. 강의는 20분 봤다. 실습은 안 했다. 따라 치기만 했다. 일주일 동안 뭘 했나. 회피했다. 미뤘다. 바쁘다고 핑계 댔다. 진짜 이유는 따로 있었다. 무서웠다. 못 배울까 봐. 이해 못 할까 봐. '나는 비전공자니까.' 그 말로 자신을 위로했다. 그런데 그게 핑계인 걸 알았다. 비전공자도 배우는 사람은 많다. 나만 안 배우는 거였다. 금요일 저녁 퇴근하고 집에 왔다. 8시. 씻고 나왔다. 배달 음식을 시켰다. 치킨. 노트북을 켰다. 유튜브 대신 구글을 열었다. 'SQL 실습 사이트' 검색. 여러 개가 나왔다. W3Schools, SQLZoo, LeetCode. 첫 번째 사이트를 열었다. 브라우저에서 바로 쿼리를 쳐볼 수 있었다. 샘플 데이터가 있었다. Customers 테이블. 이름, 국가, 나이. SELECT * FROM Customers;실행 버튼을 눌렀다. 결과가 나왔다. 표로. 모든 고객 정보가 떴다. 10명. 다시 쳤다. SELECT * FROM Customers WHERE Country = 'Korea';실행. 한국 고객 3명만 나왔다. 심장이 뛰었다. 조금. 내가 했다. 내가 데이터를 뽑았다. 30분 동안 여러 쿼리를 쳤다.나이가 30 이상인 사람 이름이 'Kim'으로 시작하는 사람 국가별 고객 수 세기틀렸다가 고쳤다. 에러가 났다. 검색했다. 다시 쳤다. 치킨이 식었다. 신경 안 썼다. 자정이 넘어서 노트북을 덮었다. 아직 모르는 게 산더미다. JOIN은 뭔지, 서브쿼리는 뭔지, INDEX는 뭔지. 그런데 오늘은 SELECT와 WHERE를 했다. 내일은 GROUP BY를 해볼 거다. 모레는 COUNT와 SUM을 할 거다. 한 달 뒤에는 사수한테 말할 수 있을까. '제가 뽑아볼게요.' 모르겠다. 그런데 해볼 거다.침묵은 가장 큰 피드백이다. 그 침묵을 잊지 않기로 했다.