|
늦게나마 코딩테스트를 시작했습니다. 이전엔 PHP다보니 유형이 없어서 Java로 하나하나 풀고 있는데 생각해보니 언어별 코딩테스트는 있는데 SQL을 테스트한다는 생각은 못했었습니다. 우연한 기회에 데이터리안에서 주관한 핸즈온에 참여하는 기회가 있었었습니다. 실무에서도 왕왕 쿼리를 쓰기도 했고, 이미 SQLD도 있지만 실제로 쓰던 쿼리만 쓰는 것과 이론적으로 아는 것만이 오히려 성장을 막고 있다는 것을 깨달았습니다. 그래서 SQL을 진지하게 임해보자 마음을 먹고서 최신 서적중에 SQL 관련된 책을 찾다가 SQL 실전 트레이닝을 마주하게 되었습니다. 기존에 사던 SQL 공부책이 아닌, SQL 문법에 대한 기본 지식을 갖췄다는 전제하에 문제풀이 형태로 이루어져 있었습니다. MySQL을 기준으로 유형별로 문제들을 분리해놨는데 1~4 유형까지는 Join에 관련된 문제들을 모아뒀고, 5부터 Group by를 시작으로 유형 18까지 문제들을 나열해뒀습니다. 유형마다 1개에서 3개 사이의 문제들이 있으며 문제들은 개념에 대한 간단한 설명과 질문과 예시, 결과 해석과 정답 풀이, 실행 결과 순으로의 형태로 구성되어 있어 스스로 애매하다 생각한 부분도 소설책처럼 정답 풀이를 보다 보니 자연스레 이해가 되어서 어느새 술술 읽고 있는 나를 발견하게 되었습니다. 이미 SQL 기초 문법은 할 수 있지만, 코딩테스트하듯이 문제를 풀고 싶어하는 사람들은 재밌게 즐길 것 같은 책입니다. |
|
출판사로부터 도서를 지원 받아 공부하면서 솔직하게 작성한 글입니다.
SQL 입문 책을 두 권 정도 독학하고 SQLD 자격증도 땄지만, 아직 실전에서 SQL을 사용할 정도는 아니기에 반복적인 연습을 통해 쿼리 작성 실력을 좀 더 기르고 싶어서 이 책을 보게 되었습니다. 책 제목처럼 실전 트레이닝에 목적이 있는 책이기 때문에 SELECT, FROM, WHERE 등의 기본적인 SQL 문법은 설명되어 있지 않습니다. 기본적인 문법에 대한 설명 없이 곧바로 쿼리 작성 연습이 시작되기 때문에, 입문 책을 떼고 온 저로서는 군더더기 없게 느껴졌고 구성이 시원시원해서 좋았습니다. 책에서 다루는 쿼리 문제들은 총 18개 유형으로 구분되었고, 같은 유형 내에서 다시 난이도별로 순차적으로 연습할 수 있도록 구성되어 있습니다. 같은 유형의 쿼리를 쉬운 문제부터 시작해서 난이도를 높여가며 반복 연습할 수 있다는 점이 큰 장점이라 느껴졌습니다. '하' 난이도 문제에서는 너무 쉬운 것 아닌가 싶었지만, '상' 난이도로 갈수록 제가 어려워했었던 셀프 조인 문제나, 아직 경험이 없는 OVER 키워드 사용 문제 같은 문제들을 만났습니다. 입문 책에서 충분히 다뤄보지 못했던 CASE WHEN, NOT IN, RANK, DENSE_RANK, LAG, LEAD 등이나 한 번도 다뤄보지 못했던 IFNULL, ROW_NUMBER 등은 난이도별로 연습할 수 있어서 더욱 좋았습니다. 실습은 MySQL을 사용하고, 깃허브에 모든 코드가 제공됩니다. 제공된 코드에는 데이터 세팅이 미리 다 되어 있어서 좀 더 편하게 공부할 수 있습니다. [SETTING] 코드만 실행한 후, 직접 문제를 풀어보고, 저자가 제시한 코드와 비교해보고, 책 설명을 읽어가며 공부하기에 좋습니다. 문제 풀이 끝부분에는 대체로 <헷갈리는 포인트>나 <헷갈리는 용어>가 설명되어 있습니다. 저는 특히 <헷갈리는 포인트>에서 짚어주는 내용들이 긴 내용이 아님에도 모르는 부분을 잘 짚어줘서 특히 공부가 많이 됐습니다. 이제까지 SQL 공부를 많이 해 본 것은 아니지만, 반복 연습을 통해 SQL 구문들을 빠르게 익힐 수 있었던 반면, 비슷비슷한 문제만 계속 다루다보니 어느 시점부터는 실력이 향상되지 못했던 것 같습니다. 그런 점에서 실무에 가깝게 엄선된 구문들과 각 구문을 난이도별로 연습할 수 있도록 구성된 문제들을 풀어보면서 실력 향상을 기대할 수 있었던 것 같고, 풀이 또한 상세해서 공부가 많이 됐습니다. 입문 책을 막 떼고 실력 향상을 위한 적당한 난이도의 다음 단계 책을 찾고 계신 분들께 추천해드리고 싶은 책입니다. |
|
하지만 언제부턴가 복잡한 쿼리는 ORM에 맡기거나, 특히 JPA 같은 ORM(Object-Relational Mapping)의 편리함 뒤에 숨어,
🎯 핵심만 담은 18가지 유형별 훈련이 책의 가장 큰 장점은 군더더기 없이 실전적인 문제 해결에 집중한다는 점입니다. 이론을 장황하게 설명하기보다, '어떤 데이터를 조회하고 싶은가?'라는 명확한 목표를 제시하고 이를 해결하는 과정을 보여줍니다.
단순히 정답 쿼리를 보여주고 끝나는 것이 아니라, '왜 이 함수를 써야 하는지', '어떤 순서로 생각해야 하는지' 를 짚어주기 때문에 문제 해결 능력을 기르는 데 큰 도움이 되었습니다.
👨💻 백엔드 개발자에게 이 책이 특별한 이유그렇다면 백엔드 개발자는 이 책을 어떻게 활용할 수 있을까요?
1. ORM의 한계를 넘어서 ORM은 놀랍도록 편리하지만, 이럴 때 필요한 것이 바로 잘 짜인 SQL 쿼리입니다. 이 책의 실전 예제들은 ORM만으로는 해결하기 까다로운 문제들을 직접 쿼리로 풀어내는 좋은 훈련이 됩니다. 2. 성능 최적화의 첫걸음 내가 작성한 코드가 어떤 쿼리로 변환되는지 이해하는 것은 백엔드 개발자의 중요한 역량입니다. SQL을 직접 다루는 훈련을 통해 쿼리의 성능을 가늠하고, 데이터베이스에 부하를 덜 주는 코드를 작성하는 감각을 기를 수 있습니다. 3. 데이터 기반 사고 단순히 CRUD만 구현하는 것을 넘어, 서비스에 필요한 데이터를 자유자재로 추출하고 분석할 수 있게 됩니다. 이는 기획자나 데이터 분석가와 더 원활하게 소통하고, 능동적으로 서비스를 개선해나가는 데 큰 무기가 됩니다. 📖 부담 없이, 끝까지 읽게 되는 마법사실 개발 서적은 두께만으로도 사람을 압도할 때가 많죠. 하지만 『SQL 실전 트레이닝』은 손바닥보다 조금 큰 아담한 판형으로 만들어져 심리적인 부담이 훨씬 적습니다. 한 페이지에 담기는 내용이 많지 않아 지루할 틈 없이 다음 장으로 술술 넘어갑니다. 출퇴근길 지하철에서, 혹은 점심시간에 잠깐씩 짬을 내어 한두 챕터씩 격파하는 재미가 쏠쏠했습니다. 책 한 권을 끝까지 읽는 성취감을 느끼기 힘들어하는 분이라도 이 책은 분명 완독할 수 있을 겁니다. 👍 이런 분들께 추천합니다!
SQL은 개발자에게 영어와 같은 기본 소양이라고 생각합니다. 만약 여러분도 저처럼 SQL의 필요성을 절감하고 있다면, 『SQL 실전 트레이닝』과 함께 쿼리 작성의 근육을 탄탄하게 키워보시길 강력히 추천합니다. |
|
SQL 자격증 공부중 문법은 알겠는데 실제로 어떻게 써야 할지 막막하더라고요. 그래서 실무 중심으로 연습할 수 있는 책을 찾다가 『SQL 실전 트레이닝』을 읽게 되었습니다.
📌 이 책은 어떤 책인가? 『SQL 실전 트레이닝』은 단순히 문법을 나열하는 책이 아니라, 실제 현업에서 마주치는 문제 해결 중심으로 구성되어 있는 실습형 SQL 학습서입니다. ✔️ 연습 데이터가 실생활과 유사해서 몰입하기 좋고 ✔️ 각 장이 문제 → 풀이 → 해설 → 추가 미션 순으로 이어져 있어서 ✔️ SQL 코딩 감각을 자연스럽게 익힐 수 있는 구조로 되어 있어요. 실습 환경 설정 💡 인상 깊었던 구성 🔸 1. 연습 문제 → 바로 실습 책에서 제공하는 데이터셋과 쿼리 환경을 통해, 설치 없이 웹에서 바로 실습할 수 있어 진입장벽이 낮았어요. 개인적으로는 JOIN, GROUP BY, 집계 함수 쪽에서 실수하던 부분을 확실히 짚고 넘어갈 수 있었습니다. 🔸 2. ‘실무형 시나리오’로 SQL 사고력 키우기 예를 들어, “어떤 고객이 특정 상품을 반복해서 구매했는가?” 같은 현실적인 질문을 SQL로 풀어가는 과정이 있어서, 단순히 SELECT만 반복하는 것과는 달랐어요. 🔸 3. 활용 포인트& 헷갈리는 포인트 자격증 공부하며 제일 궁금했던 실습시의 헷갈리는 포인트들의 정리가 잘되어있어, 바로 바로 정리하며 넘어갈 수 있습니다 ✍️ 이런 분들께 추천해요 SQL 자격증은 땄지만, 실전이 불안한 분 데이터 분석 포트폴리오를 준비 중인 취준생 실무에서 필요한 SQL을 ‘문제 해결 중심’으로 배우고 싶은 직장인 |
|
오랜만에 책을 자세히 서평해보려고한다. < SQL 실전 트레이닝 > 내가 갖고 있던 SQL학습의 비효율을 해결해준 고마운 책이다 ✅ 책을 읽은 과정 이 책의 2개의 챕터를 공부했다. 사실상 조인을 사용한 경험이 취업 이전의 상태로 머물러 있었다.
✅ 본문의 흐름
1️⃣ 개념 설명가장 먼저 주제에 맞는 문법과 개념을 아주 간단하게 설명해주고 시작한다. 예를 들어 INNER JOIN을 살펴보자. ## 책내용 왼쪽 테이블 첫번째 컬럼에 1,2 가 있고
2️⃣ 난이도 별 문제
한 챕터당 2-4문제 까지 수록되어있다. 방금 공부한 문법의 사용방법을 적용하는 쉬운 문제이다.
![]() 나는 가장먼저 문제를 보고 한것이 데이터를 빠르게 이해하는 것이었다. 오랜만에 테이블을보고 데이터를 보려니 눈에 확 들어오는 편이 아니어서 테이블 구조랑 예시 테이블이 같이 그려줘야겠다 생각이 들었다.
예시테이블을 빠르게 손으로 그려보면서 data type이나 PK 등 테이블구조의 정보를 적어주었다. 두개를 동시에 합쳐서 보면 조금더 빠르게 문제에서 제공하는 테이블을 이해할 수 있었다.
<챕터2 LEFT OUTER JOIN 문제를 보며 적어본 데이터 >
3️⃣ 정답 풀이 (과정 설명)이제 문제를 이해했으니 혼자서 쿼리를 끄적여 보게 된다. 정답풀이에선 단순히 답만 보여주고 끝내는게 아니라 반복해서 개념을 익힐 수 있도록 다시 Inner Join에 대한 구체적인 개념의 설명이 존재한다. ![]() 첫번째 문제에선 복습 효과를 내고, 두번째 문제 부터는 더 어려운 개념이 포함되어있기 때문에 더 깊은 사고를 할 수 있도록 그 과정을 도와준다.
▶️ 함께 알아둬야 하는 개념 추가 설명이 책의 친절한 특징이 또 한번 드러나는 부분이 있다.
INNER JOIN 2번째 문제 정답 풀이에선 까먹고 있었을 수도 있는 SQL 작성 순서와 실행순서에 대한 설명이 있다.
사소한 부분일수도 있지만 어떤 개념이 필요한 시점에 추가적으로 공부할 수 있게 넣어두어서 기본기를 탄탄하게 복습하면서 읽을 수 있다는것도 장점이다! ![]() ![]() ![]() ✅ 오답 풀이난이도가 올라간 문제에선 답을 도출해나가는 과정을 더욱 더 자세하게 보여준다. ![]() 테이블과 SQL문을 통해 단계별로 1단계 -> 2단계 -> 3단계 처럼 데이터 추출하는 과정을 차근차근 따라오게 한다. 위에서 언급한 SQL 실행 순서를 다시 복기할 수 있게 된다.
ex ) 1단계 가장 쉽게 생각해서 SQL문을 작성하면 간단하게 이런 데이터가 나온다 2단계에서 이 문법을 써서 이런 데이터를 도출한다 이런 뉘양스로 자세한 내용을 기반으로 설명을 해주기 때문에 정말 재미있다. 개발자들이 쿼리를 작성하면서 틀릴수 있는 예시도 함께 보여주어서 이렇게 작성하면 어떤 문제가 발생하는지도 함께 알 수 있다. 추가로 다른 해결 방법도 알려주기 때문에 한 주제에 대해 깊고 다양한 생각을 할 수 있게 된다. ![]() ![]()
이렇게 2개의 챕터만을 공부했음에도 복습도 굉장히 잘 되었고, 새로운 시야/ 깨달음도 있었다.
![]() ![]() ![]() ![]()
✅ 누구에게 추천하는가?
SQL 문법 자체를 모르는 완전 입문자는 이책을 읽으면 안된다고 생각한다. 대신
즉 SQL 개념은 알지만 문제를 풀 면 막히는 사람들이 읽으면 좋다.
|
|
예스24 리뷰어클럽 서평단 자격으로 도서를 제공받고 작성한 리뷰입니다. 직접 공부해보고, 솔직하게 작성한 리뷰입니다. 책을 받고 처음 가졌던 느낌은 책이 꽤나 묵직하다였습니다, 책을 살펴보니 과연 속이 가득찬 책이였고, 이런 느낌이 책 제목을 '철저한 SQL 실전 트레이닝!' 이라고 쓰게 만들어주었습니다. 정말 철저한 내용의 책이고, 차근차근 따라만 간다면 SQL이 헷갈렸던 분들도 익숙해질거라 확신합니다. 책의 첫 부분은 실습환경 셋팅인데요, MySQL 워크벤치 설치 이후의 git 설명에서, git의 개념에 관해서도 설명해주시려는게 느껴져서 설명에 진심이구나, 하는게 이런 부분에서도 느껴졌습니다. 이 책의 대상독자는 'SQL의 기본문법은 학습했지만, SQL의 실제 구현에는 아직 약한 초보자'인데요. 반복 되는 용어포인트 부분들을 보면서 이 점을 느낄 수 있습니다. 문제풀이 뿐 아니라 책의 순서를 따라가다보면 SQL 기본문법의 적용과 '용어 포인트' 부분을 학습하면서 개념을 또 다시 쉽게 이해할 수 있거든요. 다른 SQL 책들과의 큰 차이는 SQL 문제에 대한 해설을 단문 몇 개로 끝내지 않으시고, 그 과정을 매우 상세히 해설해주셔서 잘 따라가기만 한다면 SQL 이해에 매우 큰 도움을 받을 수 있다는 점입니다. 각 유형마다 문제 난이도 하-중-상 계속해서 반복되며, 위의 책 구성이 반복되니 정말 '철저한 트레이닝'을 받는다고 할 수 있습니다. 이 과정을 거치고 난다면 SQL에 무조건 익숙해질거라 확신됩니다, 저도 문법만 알고 항상 사용에는 망설여진다거나, 사용할 때마다 헷갈렸는데 조금씩 익숙해지는게 감사했습니다. 정말 정성스럽게 쓰신게 느껴지는 좋은 책입니다. #리뷰어클럽리뷰 |
|
리뷰어클럽 서평단 자격으로 작성한 리뷰입니다 #리뷰어클럽리뷰 데이터베이스 관련 업무를 하면서 쿼리 작성에 늘 고민이 많았는데, SQL 실전 트레이닝은 그런 갈증을 시원하게 풀어준 책이었습니다. 실제로 업무 중 복잡한 통계성 쿼리를 작성할 때 이 책을 옆에 두고 계속 참고할 수 있을 만큼 실무형 교재라 할 수 있습니다. SQL을 처음 배우는 분들부터, 쿼리 실력을 한 단계 업그레이드하고 싶은 실무자까지 모두에게 추천할 만한 책입니다. |
|
이 서평은 비제이퍼블릭으로부터 도서를 제공받아 작성되었습니다. 최근에 SQL 실전 트레이닝(비제이퍼블릭)을 읽고 직접 MySQL Workbench 8.0.41 환경에서 실습을 진행해 보았다. 평소에도 수업에서 SQL을 다루지만 “JOIN은 아는데 왜 결과가 이렇게 나오지?”라는 질문을 자주 받았고, 나 또한 그런 부분에서 헷갈리곤 했다. 이 책은 단순히 문법을 나열하는 교재가 아니라, 실제로 쿼리를 짜고 오답을 확인하며 논리적인 사고를 훈련할 수 있게 구성되어 있어 그런 고민을 해결해 주는 데 많은 도움이 되었다. 무엇보다 중요한 점은 이 책이 SQL을 완전히 처음 배우는 사람을 위한 입문서가 아니라는 사실이다. SELECT, WHERE, JOIN 같은 기본 문법을 알고 있어야 원활하게 따라갈 수 있고, 저자도 이를 강조한다. 즉, 사전지식이 없다면 읽기 어렵겠지만 기초를 익힌 상태라면 실무에서 필요한 감각과 응용력을 쌓기에 최적화된 책이라 할 수 있다. 이 책의 핵심은 18가지 유형이다. JOIN(INNER, LEFT, CROSS, FULL OUTER), GROUP BY와 HAVING, 집계 함수(MIN, MAX, SUM, COUNT), CASE WHEN, IFNULL, NOT IN 같은 조건문, 그리고 RANK, DENSE_RANK, ROW_NUMBER, LAG, LEAD와 같은 순위 함수, DATE와 CONCAT 같은 함수까지 SQL에서 반드시 다뤄야 하는 주제를 빠짐없이 담고 있다. 각 유형은 단순히 예시를 보여주는 데 그치지 않고, 문제를 먼저 제시한 뒤 오답과 정답을 비교하는 구조로 되어 있어 직접 오답을 실행하면서 왜 결과가 다르게 나왔는지 확인할 수 있다. 나는 이 과정에서 단순히 정답을 외우는 것이 아니라 쿼리의 논리 흐름을 이해하는 연습을 할 수 있었고, 특히 LEFT JOIN에서 WHERE와 ON 조건을 다르게 줄 때 결과가 어떻게 달라지는지 눈으로 확인하면서 이전에 막연하게만 알던 차이를 명확하게 알게 되었다. 또한 RANK와 DENSE_RANK, ROW_NUMBER를 실습하면서 세 함수가 비슷해 보이지만 결과 처리 방식에서 차이가 크다는 점을 깨닫고 “아, 이런 부분이 실무에서 큰 영향을 주는구나” 하고 체감할 수 있었다. GitHub로 예제 자료가 제공되기 때문에 환경 세팅에 시간을 낭비하지 않고 바로 실습을 시작할 수 있다는 점도 매우 편리했다. 책에 있는 코드를 그대로 복사해 실행해보고, 내 방식대로 조금 변형해 보면서 오답과 정답의 차이를 비교하는 과정이 무척 유익했다. 이 과정에서 나는 SQL을 감으로 때려 맞추던 습관에서 벗어나, 논리적으로 사고하며 쿼리를 짜는 연습을 하게 되었고, 단순 문법이 아니라 데이터 자체를 바라보는 사고방식을 익히는 경험을 했다. SQL 실전 트레이닝은 SQL의 기본 문법을 막 배우려는 완전 초보자에게는 맞지 않지만, 기초를 어느 정도 알고 있고 실무 감각을 키우고 싶은 분들에게는 매우 강력하게 추천할 만한 교재다. 데이터 분석이나 AI, 머신러닝을 준비하는 사람이라면 이 책을 통해 실수에서 배우는 SQL의 가치를 충분히 느낄 수 있을 것이다. 나 역시 책을 덮고 나서 “이제 나도 쿼리 좀 짤 줄 안다”라는 자신감을 얻었다. |
코딩테스트를 준비하다가 느낀 건데, 알고리즘도 어렵지만 SQL 문제는 또 다른 차원의 벽이 있더라. 단순히 문법만 알아서는 안 되고, 문제를 어떻게 접근해야 할지도 고민이 많이 됐다. 그러다 우연히 「SQL 실전 트레이닝」이라는 책을 보게 됐는데, 뭔가 지금 내 상황에 딱 맞는 책 같았다.RANK, DENSE_RANK, ROW_NUMBER 차이를 정리해둔 부분은 진짜 유용했다. 그동안 헷갈리던 게 드디어 정리되는 기분이었다.읽으면서 ‘아, 이건 진짜 코딩테스트 준비하는 사람들한테 꼭 필요하겠다’ 싶었다. 나처럼 SQL을 잘 다루지 못하는 학생이나, 취업 준비하는 사람들에게 특히 도움이 될 거다. 또 SQLD 자격증을 준비하면서 이해가 잘 안 되던 부분이 있는 사람들에게도 추천하고 싶다. |