SQL 개념 연습하기 좋은 사이트 (1)
저번 글에서는 SQL 입문자가 개념 잡기에 좋은 책을 소개했다. 아직 읽어보지 않으신 분들이 있다면 클릭하셔서 읽어보시면 됩니다! 해당 글에서도 소개했듯이 개념을 한글 책으로 한 번 접한 후에 이를 직접 연습해 볼 수 있는 무료 사이트들이 있다. 실제로 나도 해당 사이트들을 적극 활용해서 쿼리문 작성하는 법을 익혔다. 무료라서 설명이 그렇게 친절하거나 완전 고퀄의 질문들로 구성된 것은 아니지만, SQL 초급자가 SQL 문법과 친해지도록 만드는 데는 전혀 무리가 없다고 본다.
아래에서는 총 3개의 사이트를 소개할 건데, 소개 순서대로 (1번 사이트→2번 사이트→3번 사이트) 연습 문제를 풀었다. 사람마다 각 사이트의 난이도를 다르게 느낄 수 있을 것 같아서 1번, 2번, 3번이라고 넘버링했다. 내 기준으로는 아래 순서가 난이도 순이라고 생각한다. 해당 사이트들을 어떻게 활용했냐면, SELECT와 FROM에 대해서 한글 개념 책에서 공부를 했다면 거기에 해당하는 영어 개념 설명들을 한번 훑고 각 사이트에서 제공하는 연습 문제들을 풀었다. 웬만하면 모든 SQL 학습 사이트가 개념 카테고리화가 비슷하게 되어있어서 그날 공부한 특정 개념을 여러 사이트에 가서 골라하기에 용이할 것이다.
종종 하다가 문제가 안 풀리는 것들이 있는데, 그럴 때는 구글링을 해서 답을 찾기 보다는 한글 SQL 개념 책으로 돌아가서 내가 개념을 잘못 이해한 것이 있는지 재확인하거나 풀릴 때까지 계속 고민했다. 그날 못 풀면 다음 날에 다시 한번 풀어보는 식으로 하면서 최대한 나의 힘으로만 SQL 코드를 작성하려고 노력했다. 물론 다른 사람들의 깔끔하고 멋진 쿼리를 보는 것도 도움이 많이 된다. 하지만 그건 좀 더 나중에 해도 된다. 지금은 기초를 배우는 것이기 때문에 자기 뇌에 SQL 실행 원리와 쿼리문의 구성을 이해시키고 주입시키는 것이 우선이다.
1. w3schools.com ► 홈페이지 바로가기
이 사이트는 내가 전체 쿼리문을 작성해야 하는 것이 아니라 일부분 빈칸만 채우면 되기 때문에 그닥 어렵지 않다. 더군다나 빈칸이 유추가 가능하도록 문제도 드러내는 식으로 적어둔다. 그리고 위의 캡처본처럼 부등호나 세미 콜론과 같이 추가로 빈칸이 유추가 가능하도록 구획화시켜 놓아서 1단계 연습 문제용으로 활용하기에 아주 적합한 사이트였다.
2. SQLBolt ► 홈페이지 바로가기
여기 사이트는 다른 사이트에 비해 이 사이트를 만든 사람들의 공수가 더 많이 들어가있다. 실제로 유료 SQL 사이트들도 위의 캡처본처럼 똑같은 쿼리문을 단어만 바꿔서 계속 작성하게 하거나, 다음 문제로 넘어갈수록 조금씩 쿼리문에 살을 붙이도록 유도하거나, '어떤 식으로 하세요'라고 지시 사항 즉 인스트럭션을 제공한다. 이 사이트의 좋았던 점은 똑같은 쿼리문을 단어만 바꿔서 계속 작성하게 해서 반강제적으로 쿼리문에 익숙해지는 것이었다. 또한, 문제와 쿼리 입력란과 "데이터 테이블"이 한눈에 보이도록 배치를 해 두었다. 이 글에서 소개하는 다른 두 사이트는 데이터 테이블을 보려면 조금 스크롤을 해야 해서 쿼리문을 작성할 때 왔다 갔다 하느라 좀 불편했었다. 쿼리문을 작성할 때는 테이블을 참고하는 이유는 테이블을 보면서 내가 원하는 데이터 테이블이 나오기 위해서는 어떤 식으로 쿼리문을 구성해야 할지 머릿속으로 시뮬레이션을 할 수 있기 때문이다. 개인적으로는 이 사이트를 상당히 선호했다. UI/UX도 다른 사이트에 비해 깔끔하기도 했고.
3. SQLZOO ► 홈페이지 바로가기
이 사이트는 문제만 던져주는 스타일이다. 아무런 보조 설명 없이 내가 가진 SQL 문법 지식만 가지고 쿼리문을 작성해야 하는 것이라서 제일 마지막 단계의 연습문제로 활용했다. 하지만 문제가 그렇게 어렵게 구성되어있지는 않아서 쿼리문을 쓰는데는 큰 부담은 없을 것이다. 그리고 내가 작성한 쿼리문이 잘못되었으면 아래 초록색 칸에 '결과 테이블은 이런 식으로 나와야 합니다'라고 알려줘서 해당 테이블을 도출하기 위해서 어떤 식으로 쿼리문을 수정해야 할지의 간접적인 힌트를 얻을 수 있다.