[자격증] SQLD 1트 합격 후기
들어가기 앞서 . . .
백엔드 개발을 공부하면서 자연스럽게 SQL과 마주할 일이 많아졌다.
특히 데이터베이스 설계나 간단한 쿼리 작성은 물론, jQuery 등 프론트와 연동되는 작업에서도 SQL을 다뤄야 할 일이 적지 않았고, 이 과정에서 SQL에 대한 기본기를 제대로 다져야겠다는 필요성을 느꼈다. 또한 이후에 준비할 정보처리기사 실기 시험에서도 SQL의 비중이 높다는 이야기를 많이 들었기에, 시험을 겸해 이참에 SQL 기초를 한번 제대로 잡아보고자 SQLD에 도전하게 되었다.
여기서 강조해서 말하고싶은건, 필자와 같이 지인 3명이 SQLD에 응시했으나 2명은 떨어지고 1명만 붙었다.
일주일 공부한 전공자 지인과 한달 공부한 비전공자 지인이 떨어지고 3주 공부한 비전공자 지인 1명이 붙었다.
블로그 포스팅은 개인적인 의견이 담긴 합격후기이기 때문에 정말 참고용으로만 보고, 필자를 포함한 다른 합격자들의 짧은 기간을 비슷하게 공부 기간으로 잡고 공부하지 않았으면 한다.
자신의 속도에 따라서 공부 기간을 잡는게 훨씬 좋을 것 같다는 생각을 했다.
짧은 기간 공부하고 떨어진 사람들은 포스팅을 하지 않을 것 같기때문에.. 짧은 기간안에 붙은 사람들 포스팅만 남은 것이 아닌가..싶다.
전공자이긴 하지만, 대학에서 데이터베이스 관련 수업을 따로 들은 적은 적은 없다.
그렇지만 백엔드 개발을 하면서 ERD를 설계하거나 간단한 SQL 쿼리를 작성해본 경험이 있었기에, 데이터베이스의 기본적인 구조와 쿼리문 사용 정도는 알고 있는 상태에서 SQLD 공부를 시작하게 되었다.

공부 방법
블로그 포스팅에서 SQLD 정리 요약본과 SQLD 2022년 노랭이 문제집을 풀며 공부했다.
시험을 보기로 결심하고 준비 기간은 6일. 3월 1일부터 6일까지 매일 5시간에서 8시간씩 공부했고, 시험은 3월 7일 아침에 봤다.
기본서를 처음부터 끝까지 정독할 여유는 없다고 판단했고, 요약된 이론 PDF 파일과 함께 2022년 SQLD 노랭이 기출 문제집을 활용해 공부를 했다. 특히 오답노트를 작성해가며 문제 풀이 중심으로 학습했다.
참고한 SQLD PDF는 아래의 블로그에서 다운받을 수 있다!
https://blog.naver.com/didrmsekdvk
유의점
실수하지말고 개정 된 내용과 출제 범위를 잘 확인하고 공부를 하자.ㅠ..ㅠ

sqld 합격 자료를 보면 23년 이전 자료들과 합격 후기가 많았다. 나 또한 많은 블로그 포스팅을 참고하였는데, 참고한 교재와 자료들이 개정 전 내용을 기준으로 되어있었다...
출제 범위가 개정되었다는 사실을 전혀 모르고 정규표현식과 PIVOT과 같은 최근 출제 항목은 전혀 공부하지 못한 채 시험을 보게 되었고, 오히려 출제 범위에서 제외된 옵티마이저나 반정규화 같은 개념을 공부하느라 하루를 통째로 날려버렸다.
느낀점과 팁
사실 SQLD는 인터넷에 떠도는 후기를 보면 “쉬운 시험”, “비전공자도 1주 합격” 같은 이야기들이 많아 방심하고 있었다.
하지만 막상 시험지를 받아 보니 생각보다 훨씬 어렵게 느껴졌다. 특히 1과목의 경우, 2과목보다 시간을 덜 썼을 뿐이지, 기본 개념은 확실하게 알고있다고 생각했는데 막상 문제로 접하니 문제 표현이 헷갈리게 나오는 경우가 많았고, 한 문제를 푸는 데에도 시간이 꽤 오래 걸렸다. 1과목은 노랭이보다 어렵고 2과목은 노랭이보다 쉬웠던 것 같다.
문제 출제 비율이 1과목 10문제, 2과목 40문제이기 때문에 2과목에 더 많은 시간을 투자했지만, 시험을 치르고 나니 오히려 1과목에서 점수를 무조건 가져와야한다고 생각했다. 2과목에서 어려운 문제들이 나왔을 때, 1과목을 확실하게 맞춰야 전체 점수에서 유리한 것 같았다.
개인적인 의견으로는 비전공자라면 특히 1과목 이론에 시간을 많이 투자하는 것이 훨씬 효율적일 것 같았다.
또 생각보다 시험 시간이 부족했다.
1과목에서 생각보다 많은 시간을 썼고, 나중에 2과목을 풀 때 시간이 부족해지는 바람에 고민하다 마킹을 미룬 6개 문제를 결국 체크하지 못하고 시험이 종료되었다....
정보처리기사처럼 넉넉한 시간이 제공되거나 컴퓨터 기반 시험이 아니라, OMR 카드에 마킹해야 하는 시험이라는 걸 간과해서 생긴 실수였던 것 같다.
필자가 본 시험 기준, 많이 출제된 문제들의 개념은 아래와 같다. (참고한 pdf의 목차로 분류하였습니다.)
1과목
• 데이터 모델링의 3단계
• 데이터베이스의 3단계 구조
• 엔터티의 분류
• 엔터티, 인스턴스, 속성의 관계
• 속성의 특성에 따른 분류
• 관계 읽기 방법
• 식별자의 분류와 특징
• 정규화 관련 용어 및 단계별 특징
2과목
• SQL 문장들의 종류 (DDL / DML / DCL / TCL)
• 제약조건(CONSTRAINT)
• 공집합과 NULL의 개념
• 정규표현식
• 숫자형 함수, 문자열 함수, CASE
• NULL 관련 함수 (NVL, COALESCE 등)
• GROUP BY, HAVING 절
• 조인 (INNER, OUTER, SELF 등)
• 서브쿼리
• 집계 함수 (COUNT, SUM, AVG 등)
특히 2과목에서는 NULL 관련 문제가 정말 많이 출제되었다. NULL이 들어간 비교 연산, 조건 처리, 집계 함수에서의 동작 방식 등은 정말 다양하게 응용되어 나오므로, NULL 관련 문제는 실전처럼 여러 번 반복해서 풀어보시는면 좋을 것 같다.
마무리하며
짧은 시간 동안 집중적으로 준비하느라 쉽지만은 않았지만, 이번 시험을 통해 SQL의 기초를 탄탄히 다질 수 있었고, 실무에서도 데이터베이스를 조금 더 자신감 있게 다룰 수 있는 기반이 생긴 것 같아 만족스러운 경험이었다.
SQLD를 준비하시는 분들께 조금이나마 도움이 되었길 바라며!! 화이팅!