
"SQL 기본 문법은 아는데, 실무 쿼리는 왜 이렇게 복잡해질까?" 데이터베이스를 다루다 보면 누구나 한 번쯤 마주하는 고민이다. 나 역시 백엔드 개발자로서 원하는 데이터를 뽑아내기 위해 끝없는 서브쿼리와 복잡한 조인을 덧붙이다가, 쿼리 성능과 가독성 앞에서 좌절한 경험이 있다. 그러다 좋은 기회가 생겨 10년 만에 개정된 실리콘밸리 DB 엔지니어 미크의 《SQL, 이렇게 하면 된다》 서평단에 참여하게 되었다.
책의 구성
책은 크게 세가지 파트로 구성된다.

먼저 개념을 설명해주는 파트이다.
개념을 설명해주는 부분에서 이 책의 가장 큰 장점은 SQL을 '어떻게 쓰느냐'를 넘어 '어떻게 생각해야 하느냐'를 알려준다는 점이다.
인상 깊었던건 평소에 막 쓰던 SQL을 단지 '언어'로 보지 않게 해준다는 것이였는데 몇가지를 꼽자면,
① 절차 지향에서 집합 지향으로의 패러다임 전환 Java나 Python 같은 절차 지향 언어에 익숙한 개발자들은 SQL을 작성할 때도 조건문(If-Else)과 반복문(For)의 논리로 접근하려는 경향이 있다. 책에서는 이러한 사고방식이 어떻게 쿼리의 성능을 떨어뜨리고 가독성을 해치는지를 명확한 예제로 보여준다. 데이터를 레코드 단위가 아닌 '집합(Set)' 단위로 바라보고 다루는 방법을 깨닫게 된 것이 이 책을 통해 얻은 가장 큰 수확이었다.
② 마법의 지팡이, CASE 식의 재발견 책의 초반부에서 가장 강조하는 내용 중 하나가 바로 CASE 식이다. 저자는 단순히 결과값을 변환하는 용도를 넘어, 조건 분기를 쿼리 내에서 얼마나 우아하게 처리할 수 있는지 보여준다. 과거에 UNION을 남발하여 여러 번 테이블을 읽어오던 비효율적인 쿼리들이, CASE 식 하나로 성능과 가독성 모두를 잡는 깔끔한 코드로 변하는 과정은 그야말로 감탄이 나오는 부분이였다.
③ 윈도우 함수(Window Function)로 실무 레벨업 초급자와 중급자를 나누는 기준이라 할 수 있는 '윈도우 함수'의 활용법도 매우 깊이 있게 다룬다. 누적 합계, 이동 평균, 순위 매기기 등 실무에서 정말 자주 쓰이지만 서브쿼리로 짜면 지옥이 펼쳐지는 작업들을 윈도우 함수로 얼마나 쉽게 해결할 수 있는지 다양한 실전 예제를 통해 체득할 수 있었다.
두번째 파트는 종종 나오는 칼럼 부분이다.

앞서 개념 설명 파트에서 중요한 키워드지만 부연 설명이 필요할 경우 칼럼 파트에서 전부 설명을 해준다.
위 사진은 내가 인상 깊었던 SQL과 폰노이만 부분인데 컴퓨터공학 전공자라면 모를수가 없는 이름 폰노이만이 SQL에서도 등장하는게 신기해서 한번 찍어봤다.
마지막으로 연습문제 부분이다.

개발 서적을 읽을 때 코드를 눈으로만 훑고 넘어가면, 막상 실제 환경에서 백지상태로 쿼리를 짜야 할 때 머릿속이 하얘지곤 한다. 이 책은 각 장에서 배운 핵심 원리들을 실전처럼 적용해 볼 수 있도록 수준 높은 연습문제들을 제공한다.
앞서 배운내용들을 적당한 난이도로 적용할수 있게 해 기억에 오래 남고 자산이 되도록 한다. 만약 이 책을 직접 읽는다면 이 파트는 꼭 혼자풀어보라고 추천하고 싶다.
마치며: "그래서, 누가 읽어야 할까?"
결론적으로 《SQL, 이렇게 하면 된다》는 책 제목 그대로, 복잡한 비즈니스 로직을 쿼리로 구현해야 할 때마다 막막함을 느끼는 이들에게 확실한 해답을 제시해 주는 가이드북이다. 10년 만에 개정된 제2판인 만큼, 구시대적인 팁은 덜어내고 철저히 실무 중심의 세련된 기법들로 꽉 채워져 있다.
단순한 문법 암기에서 벗어나 데이터베이스가 진짜로 일하는 방식을 이해하고 싶은 사람, 그리고 자신이 짠 쿼리의 속도를 의심해 본 적 있는 백엔드 개발자나 데이터 분석가에게 강력히 권하고 싶다. 한 번 가볍게 읽고 책장에 꽂아둘 책이 아니라, 개발을 하다 쿼리가 꼬일 때마다 모니터 옆에서 꺼내 봐야 할 든든한 동반자를 얻은 기분이다.
[이 리뷰는 출판사로부터 도서를 제공받아 작성된 리뷰입니다.]
'서적' 카테고리의 다른 글
| 자바 개발자도 AI 에이전트를 만들 수 있을까? - Do it! 스프링 AI를 활용한 AI 에이전트 개발입문 후기 (0) | 2026.07.06 |
|---|---|
| 안쪽까지 들여다 보는 스프링시큐리티 책 후기 (0) | 2026.04.19 |
| 객체지향 시스템 디자인 원칙 책 리뷰... (0) | 2025.09.13 |
| 스프링 교과서를 읽고 (1) | 2025.01.23 |