본문 바로가기
프로젝트(종료)/SQLD 자격증 따기

[SQL] SQLD 10일 독학 합격 후기

by 일말고프로젝트 2021. 4. 18.

갑분합..

 

1. 시험 후기

 

불합격이라고 거의 확신한 시험이었는데 합격했다.

사실 SQLD 공부를 시작하기로 한 글에서 밝혔듯이 후기나 교재를 보고나서 시간과 지식이 그렇게까지 많이 필요한 시험이 아니라고 판단했고, 그에 맞게 적당히만 공부했다. 하지만 시험장에서 느낀 느낌은

 

"아 이렇게 공부하는게 아니었구나.."

 

풀면서도 이게 맞나 싶은 문제가 1/3을 넘겼고, 아예 커버하지 못한 문제들도 꽤나 나왔다. 그리고.. 주관식 유형이 있는시험인지 몰랐다. (시험지 받고 뒷 부분에 주관식이 있어서 아주 깜짝 놀랐다..) 당연히 주관식 대비를 안했으니 거의 1/3은 빈칸이었다.

 

더 이상 나아질 게 없다고 생각해 종료 30분 남겨놓고 먼저 제출하고 나왔다. 나오면서 이 시험은 망했구나 싶었다. 시험장 나오자마자 다음 시험 일정 확인하고, 돈 날렸다는 쓰라린 마음에 맛있는 거나 실컷 사먹었는데... 합격을 했다니 참..

 

2021.03.01 - [프로젝트/SQL] - SQL 공부를 시작하기 전에

 

SQL 공부를 시작하기 전에

SQL을 공부하기 전에 몇 가지 확실하게 정리해야 할 것들이 있다. 지난번 데이터 커리어에 대한 고민을 하고, 결국 SQL에 대한 요구사항이 가장 중요한 점임을 알게 되었다. 그리고 SQLD 접수를 했

project-notwork.tistory.com

 

2. 공부 방법

 

우선 공부 방법 전에 개인적인 SQL 지식은 쿼리를 한 번에는 아니지만 시간을 들이면 짤 수 있는 정도였다. 실무에서 SAS나 HIVE에서 SQL을 활용 했었고, 말 그대로 요청 사항을 쿼리로 짤 수 있는 정도였다. 

 

딱 10일 공부헀고, 문제집은 노랭이(?) 한 권만 풀어봤다. 큰 방향은 문제 양치기였다.

 

1~5일까지는 하루에 40문제씩 풀며 개념 이해 + 문제풀이를 병행했다. 문제마다 암기해야 할 것은 한꺼번에 외우려고 정리해뒀고, 개념은 따로 정리해 두지 않았다.

 

6일~10일까지는 복습하면서 개념 복습, 오답 정리, SQLD 카페 기출문제 한 번씩 훑어봤다. 마지막 5일은 공부라기보다는 그냥 확인 정도만 하고, 외워야 할 것 외웠다.

 

SQLD, SQLP 모두 있음

 

3. 추천하는 공부 방법

 

1) 양치기

결과론적으로(붙은 걸 보니..) 양치기로 준비하는 시험이 맞는 것 같다. 개념이해 따로 문제 따로 푸는 것 보다는 어떤 유형의 문제가 많이 나오는지 풀어보면서 개념을 보강하는 느낌으로 공부하는 게 더 효율적이다. 분명 처음 풀다보면 진짜 하나도 모르는 부분이 나올텐데 그래도 그냥 다 외운다 생각하고, 그 방법대로 공부하는게 맞다. 특히 쿼리를 채워넣는 2과목 SQL 기본 및 활용 부분은 직접 쿼리를 짜보거나 써봐야 하기 때문에 개념을 다 이해하고 푸는 것 보다 어떤 상황에서 어떤 쿼리를 짜는지 확인하면서 공부하는게 훨씬 좋다. 그 이외에는 암기이니 성실하게 외우면 된다.

 

2) 개념 정리

문제를 풀 때마다 굵직한 개념들로 5~7문제가 반복해서 나오는데 그때마다 조금 깊게 이해해보는 것도 도움이 될 것 같다. 예를 들어 PK, FK의 속성을 묻는 문제가 나왔다면 기계적으로 몇 가지씩의 특성을 외우는 것도 좋지만 큰 틀에서 왜 PK가 이런 속성이 있을까, FK는 왜 이럴까 생각해보면 SQL 전체에서 공통적인 키워드를 찾을 수 있다. 그다지 무릎을 탁 치는 인사이트까지는 아니지만 다른 개념과의 연결고리를 찾는데도 도움이 됐다.

 

 

3) 교재

문제은행 수험서는 하나 사는걸 추천한다. 결국 양치기니까! 그리고 틈틈히 카페에서 기출문제도 풀어보는 걸 추천한다. Google에 데이터진흥원에서 배포한 SQLD 대비 개념서 같은 PDF가 있는데, 시험 막바지에 발견했다. 훑어보니 개념도 잘 잡혀있고 문제도 몇 개 포함되어 있어서 정리용으로는 좋은 것 같다. 

문제은행 + 개념정리 PDF면 충분할 것 같다.

 

4. 활용

 

공부하고 나서 달라진 점은 쿼리를 짤 때 쿼리의 효율성, 실행 순서, 테이블 관리 등에 관심을 가지게 됐다. (적어도 이젠 "SELECT * "를 남발하지 않는다.) 예전에는 다른 사람이 짠 쿼리에 숫자나 텍스트 조건만 변경하는 정도였다면 이제는 쓰임새에 맞게 더 효율적으로 수정하거나 테이블을 나누어 생성해보며 좀더 적극적인 수정을 하고 있다.

 

얼추 쿼리의 데이터 구조에 대해 생각하며 쿼리를 짜게 된 것 같다. 여러 함수를 외우면서 특정 상황에 복잡한 쿼리보다 함수나 명령문으로 해결하는 시도를 하고 있다.("이걸 쓰면 되겠다"보다는 "아 이거 그 함수 있었는데..뭐였지? 구글" 이정도..)

 

SQLP를 도전할 지는 아직 모르겠다. 워낙 악명이 높은 시험이라 엄두가 안나기도 하고, SQLD 시험보다 더 얻을게 많은 시험인지 모르겠다.

댓글