간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (23,940원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (17,640원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (20,160원)
(최대할인 4만원 / 2만원 이상 결제)
Close

SQL BOOSTER : 프로젝트 성공을 위한 SQL 필독서

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 3,347
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

28,000원

  • 25,200 (10%할인)

    260P (1%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 북카트 담기
    • 바로구매
    • 매장픽업

    책소개

    SQL BOOSTER는 프로젝트 성공을 위한 SQL 필독서다. 이 책은 마치 프로젝트를 진행하는 순서처럼 구성되어 있다. 프로젝트 투입을 위해 필요한 SQL 기술을 설명하고, 성능 테스트를 위해 필요한 기술을 설명한 뒤에 마지막으로 성공적인 오픈을 위해 필요한 SQL 기술들을 설명한다.
    책의 예제들은 실제 실행해 볼 수 있게 구성되어 있으며, 예제를 위한 예제보다는 실전에서 사용될 법한 예제들을 담았다.
    초보자를 위한 책은 아니지만, JOIN과 GROUP BY를 원리부터 촘촘히 설명한다. 이 두 가지를 제대로 할 수 있어야만 SQL 실력을 부스트(boost) 할 수 있기 때문이다.
    이 책은 SQL을 좀 더 잘하고 싶은 모든 이들에게 필요한 책이다. 이 책을 통해 ‘SQL BOOSTER’를 장착할 수 있기 바란다. 데이터를 자유자재로 다룰 강력한 힘을 갖게 될 것이다.
    책의 모든 스크립트는 DB 전문가 네트워크 ‘디비안 포럼(http://www.dbian.net)’에서 다운 할 수 있다. 이 책을 구매하지 않더라도 스크립트를 다운해 실행해보기 바란다. 스크립트를 하나씩 실행하고 생각해 보는 것만으로 자신의 SQL 실력에 도움이 될 수 있다.

    출판사 서평

    데이터의 중요성은 날이 갈수록 커지고 있다. 데이터를 다루는 가장 기초적이면서 강력한 언어가 바로 SQL이다. 처음에는 배우기 어려울 수 있지만, 잘 배우고 나면 그 어떤 프로그래밍 언어보다 쉽게 데이터를 추출하고 조작할 수 있다.
    이러한 SQL 기술은 개발자에게 특히 중요하다.
    SQL을 잘 다루는 개발자들은 마치 부스터(Booster)를 장착한 것처럼 빠르고 정확하게 개발을 해나간다. SQL로 쉽게 처리할 부분과 프로그래밍으로 처리할 부분을 정확히 알기 때문이다.
    SQL은 개발자뿐만 아니라 현업 담당자에게도 필요한 기술이다. 기업의 데이터는 빠르게 쌓이고 보고서의 형태는 수시로 변경된다. 이미 개발된 시스템으로 새로운 보고서의 숫자를 채워 넣기에는 한계가 있다. SQL을 사용할 줄 안다면 전산의 도움 없이 필요한 보고서를 그 즉시 만들어 낼 수 있다. 데이터가 넘쳐나는 이 세상에서 모두에게 필요한 언어가 바로 SQL이라 할 수 있다.
    SQL 기술을 최대치로 올리고 싶다면, 그리고 프로젝트를 성공적으로 오픈하기를 원한다면 SQL Booster를 꼭 읽어보기 바란다.
    마지막으로 이 책은 ‘오라클’ 기준으로 쓰인 책이다. 하지만 SQL 기술들은 비교적 DBMS의 특성을 타지 않는 언어다. 다른 DBMS를 사용하고 있어도 한 번쯤 이 책을 접해보기 바란다. 많은 도움이 될 것이다.

    목차

    PART. I Kick-Off, 프로젝트 시작을 위한 SQL 기술
    Chapter. 1 준비하기

    1.1 연습을 위한 환경 구성
    1.1.1 연습용 테이블 스페이스 만들기
    1.1.2 연습용 사용자 만들기

    1.2 연습용 데이터베이스 구성
    1.2.1 연습용 테이블 생성하기
    1.2.2 연습용 데이터 생성하기

    Chapter. 2 GROUP BY와 ROLLUP
    2.1 GROUP BY
    2.1.1 GROUP BY 이해하기
    2.1.2 GROUP BY 컬럼의 변형
    2.1.3 집계함수에서 CASE문 활용하기
    2.1.4 COUNT 집계함수
    2.1.5 중복을 제거한 COUNT
    2.1.6 HAVING

    2.2 ROLLUP
    2.2.1 ROLLUP 이해하기
    2.2.2 ROLLUP의 컬럼 순서
    2.2.3 GROUPING
    2.2.4 ROLLUP 컬럼의 선택

    2.3 소계를 구하는 다른 방법
    2.3.1 ROLLUP을 대신하는 방법
    2.3.2 CUBE
    2.3.3 GROUPING SETS

    Chapter. 3 JOIN
    3.1 INNER-JOIN
    3.1.1 INNER-JOIN 이해하기
    3.1.2 여러 테이블의 조인
    3.1.3 잘 못 작성한 조인(M:1:M 조인)
    3.1.4 RANGE-JOIN

    3.2 OUTER-JOIN
    3.2.1 OUTER-JOIN 이해하기
    3.2.2 OUTER-JOIN의 필터 조건
    3.2.3 실행이 불가능한 OUTER-JOIN
    3.2.4 OUTER-JOIN이 포함된 여러 테이블의 조인
    3.2.5 OUTER-JOIN의 응용

    3.3 CARTESIAN-JOIN
    3.3.1 CARTESIAN-JOIN 이해하기
    3.3.2 CARTESIAN-JOIN의 위험성
    3.3.3 분석마스터 만들기
    3.3.4 테스트 데이터 만들기

    Chapter. 4 유용한 SQL 문법
    4.1 서브쿼리
    4.1.1 서브쿼리의 종류
    4.1.2 SELECT 절의 단독 서브쿼리
    4.1.3 SELECT 절의 상관 서브쿼리
    4.1.4 SELECT 절 서브쿼리 - 단일 값
    4.1.5 WHERE 절 단독 서브쿼리
    4.1.6 WHERE 절 상관 서브쿼리

    4.2 MERGE
    4.2.1 MERGE
    4.2.2 MERGE를 사용한 UPDATE

    4.3 WITH
    4.3.1 WITH
    4.3.2 WITH 절을 사용한 INSERT

    PART. II 성능 테스트, 성능 개선을 위한 SQL 기술
    Chapter. 5 성능 개선을 위한 기본 지식

    5.1 실행계획
    5.1.1 당부의 글
    5.1.2 실행계획
    5.1.3 실행계획 확인하기
    5.1.4 실행계획의 순서
    5.1.5 실제 실행계획 확인하기

    5.2 성능 개선을 위한 최소한의 지식
    5.2.1 옵티마이져(Optimizer)
    5.2.2 소프트 파싱, 하드 파싱
    5.2.3 IO(Input, Output)
    5.2.4 블록(BLOCK)
    5.2.5 논리적 IO와 물리적 IO
    5.2.6 부분 범위 처리

    Chapter. 6 INDEX
    6.1 INDEX의 기본 개념
    6.1.1 인덱스(INDEX)란?
    6.1.2 인덱스의 종류
    6.1.3 B*트리 구조와 탐색 방법
    6.1.4 데이터를 찾는 방법
    6.1.5 데이터를 찾는 방법 - 테이블 전체 읽기
    6.1.6 데이터를 찾는 방법 - 인덱스를 이용한 찾기
    6.1.7 INDEX RANGE SCAN VS. TABLE ACCESS FULL

    6.2 단일 인덱스
    6.2.1 단일 인덱스의 컬럼 정하기
    6.2.2 단일 인덱스 VS. 복합 인덱스

    6.3 복합 인덱스
    6.3.1 복합 인덱스 - 컬럼 선정과 순서#1
    6.3.2 복합 인덱스 - 컬럼 선정과 순서#2
    6.3.3 복합 인덱스 - 컬럼 선정과 순서#3
    6.3.4 복합 인덱스 - 컬럼 선정과 순서#4

    6.4 인덱스의 활용
    6.4.1 인덱스로 커버된 SQL
    6.4.2 Predicate Information – ACCESS
    6.4.3 너무 많은 인덱스의 위험성
    6.4.4 인덱스 설계 과정

    Chapter. 7 JOIN과 성능
    7.1 조인의 내부적인 처리 방식
    7.1.1 조인의 3가지 처리 방식
    7.1.2 NESTED LOOPS JOIN
    7.1.3 MERGE JOIN
    7.1.4 HASH JOIN

    7.2 NL 조인과 성능
    7.2.1 성능 테스트를 위한 테이블 생성
    7.2.2 후행 집합에 필요한 인덱스
    7.2.3 선행 집합 변경에 따른 쿼리 변형
    7.2.4 조인 횟수를 줄이자#1
    7.2.5 조인 횟수를 줄이자#2
    7.2.6 여러 테이블의 조인
    7.2.7 과도한 성능 개선
    7.2.8 선행 집합은 항상 작은 쪽이어야 하는가?

    7.3 MERGE 조인과 성능
    7.3.1 대량의 데이터 처리
    7.3.2 필요한 인덱스

    7.4 HASH 조인과 성능
    7.4.1 대량의 데이터 처리
    7.4.2 빌드 입력 선택의 중요성
    7.4.3 대량의 데이터에만 사용할 것인가?
    7.4.4 어떤 조인을 사용할 것인가?

    PART. III 오픈, 훌륭한 마무리를 위한 SQL 기술
    Chapter. 8 OLTP SQL 기술

    8.1 트랜잭션
    8.1.1 트랜잭션(Transaction)이란?
    8.1.2 트랜잭션 테스트
    8.1.3 트랜잭션 고립화 수준 – READ COMMITTED

    8.2 락(LOCK)
    8.2.1 락(LOCK)
    8.2.2 SELECT~FOR UPDATE
    8.2.3 대기(WAIT) 상태
    8.2.4 데드락(DEAD-LOCK, 교착상태)
    8.2.5 트랜잭션 최소화
    8.2.6 방어 로직
    8.2.7 불필요한 트랜잭션의 분리

    8.3 문서번호 처리 기술
    8.3.1 SELECT MAX 방식
    8.3.2 SELECT MAX 방식의 성능
    8.3.3 SELECT MAX 방식의 중복 오류
    8.3.4 채번 테이블
    8.3.5 채번함수

    8.4 시퀀스와 ROWNUM
    8.4.1 시퀀스 객체(Sequence Object)
    8.4.2 잘못 활용한 시퀀스
    8.4.3 최근 데이터를 가져오는 기술

    Chapter. 9 분석함수
    9.1 OVER 절
    9.1.1 OVER 절 이해하기
    9.1.2 분석 대상
    9.1.3 OVER - PARTITION BY
    9.1.4 OVER - ORDER BY

    9.2 기타 분석함수
    9.2.1 순위 분석함수
    9.2.2 ROW_NUMBER
    9.2.3 LAG, LEAD

    9.3 분석함수를 대신하기
    9.3.1 분석함수를 대신하는 방법
    9.3.2 PARTITION BY를 대신하기
    9.3.3 ROW_NUMBER를 대신하기

    Chapter. 10 페이징 처리 기술
    10.1 페이징 기술
    10.1.1 페이징의 종류
    10.1.2 DB 페이징
    10.1.3 DB-INDEX 페이징

    10.2 페이징 성능 높이기
    10.2.1 페이징을 위한 카운트 처리
    10.2.2 DB-INDEX 페이징의 성능 개선
    10.2.3 DB-INDEX 페이징으로 유도하기
    10.2.4 DB-INDEX 페이징의 한계

    Chapter. 11 SQL 개발 가이드
    11.1 WHERE 절 가이드
    11.1.1 WHERE 절의 컬럼은 변형하지 않는다
    11.1.2 날짜 조건 처리하기
    11.1.3 조건 값은 컬럼과 같은 자료형을 사용한다
    11.1.4 NOT IN 보다는 IN을 사용한다
    11.1.5 불필요한 LIKE는 제거하자

    11.2 불필요한 부분 제거하기
    11.2.1 불필요한 COUNT는 하지 않는다
    11.2.2 COUNT에 불필요한 부분은 제거한다
    11.2.3 불필요한 컬럼은 사용하지 않는다
    11.2.4 동일 테이블의 반복 서브쿼리를 제거하자

    11.3 생각의 전환
    11.3.1 사용자 함수 사용의 최소화
    11.3.2 작업량을 줄이자
    11.3.3 집계 테이블을 고민하자

    관련이미지

    저자소개

    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    서경대학교에서 컴퓨터 공학을 전공하고 2001년부터 개발자로 일을 시작했다.
    2005년부터 2017년까지 중국 삼성전자 판매 법인에 필요한 시스템이 적시에 개발되도록 DA(Data Architecture) 임무를 수행했다.
    판매, 유통, 데이터 분석 등의 다양한 업무의 데이터베이스를 설계했으며 수많은 배치와 핵심 SQL들을 개발해왔다.
    현재는 프리랜서로 일하고 있다. 데이터베이스뿐만 아니라 데이터 활용에 많은 관심을 두고 있으며, 대한민국이 데이터 강국이 되기를 꿈꾸고 있다.

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      10.0 (총 0건)

      구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

      리뷰쓰기

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      10.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용