본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

SQL 쿡북 상세페이지

컴퓨터/IT 개발/프로그래밍

SQL 쿡북

모든 SQL 사용자를 위한 쿼리 완벽 가이드
소장종이책 정가40,000
전자책 정가20%32,000
판매가32,000
SQL 쿡북 표지 이미지

SQL 쿡북작품 소개

<SQL 쿡북> SQL 언어를 마스터하기 위한 마지막 필독서



SQL을 유연하게 사용하기 위해서는 기본적인 내용뿐만 아니라 다양한 표현식을 잘 알아야 한다. 이 책은 SQL에 대한 매우 실용적인 접근 방식을 적용하여 대용량 데이터 저장소를 생성하고 조작하는 방법을 소개한다. 실제 사례를 기반으로 한 오라클, DB2, SQL 서버, MySQL, PostgreSQL 등 다양한 SQL 버전에서의 해결책과 실행 가능한 예제로 구성하여 업무에 도움이 되는 틀을 제공한다.

SQL 프로그래머, 분석가, 데이터 과학자, 데이터베이스 관리자를 비롯한 일반 SQL 사용자들이 마주하게 될 일상적인 문제를 해결하는 데 이 책이 매우 유용한 가이드가 될 것이다. SQL을 사용하여 매일 난제와 씨름하는 여러분에게는 어떤 자료보다도 흥미로울 것이다.


출판사 서평

데이터베이스를 활용할 때 기본이 되는 SQL, 한 권으로 끝내기!



SQL은 데이터베이스를 활용하는 모든 곳에서 사용되는 필수 기술입니다. 특히 최근 몇 년간 모든 업계에서 화두처럼 떠오른 디지털 트랜스포메이션의 영향으로 현업 실무자들도 SQL을 익히는 추세입니다. 이러한 가운데 IT 업계뿐 아니라 마케팅, 서비스 기획, HR 등 데이터 추출 및 분석이 필요한 곳이라면 어디에서나 SQL에 대한 깊이 있는 이해가 요구됩니다. 부디 이 책을 통해 그러한 갈증이 조금이라도 해소되길 바랍니다.

이 책은 기본적인 쿼리문부터 시작해 메타 데이터, 문자열/날짜/숫자 조작 및 리포팅에 필요한 다양한 기법에 이르기까지 SQL의 모든 것을 총망라했다고 봐도 과언이 아닙니다. 개인적으로 과거 개발자 시절 쿼리를 작성하면서 고민했던 문제와 해법을 이 책의 곳곳에서 재발견하는 소소한 재미로 즐겁게 번역했습니다. 저처럼 많은 고민을 하고 있을 현업 개발자들이 이 책을 통해 많은 팁과 노하우를 얻게 되리라 기대합니다. -옮긴이의 말 중에서-





대상 독자

SQL 기본 문법을 익힌 뒤 한걸음 더 나아가려는 SQL 사용자
데이터 엔지니어, 데이터 과학자, 데이터 시각화 전문가, BI 사용자 등을 포함한 모든 SQL 사용자


주요 내용

SQL 구현에서 윈도우 함수를 더 많이 활용하도록 대폭 수정된 해결 방안 소개
공통 테이블 표현식(CTE)의 광범위한 활용법을 통한 읽기 쉽고 구현하기 쉬운 해결책 구축 방법 제공
데이터베이스 비전문가라도 SQL을 더 유용하게 사용할 수 있는 새로운 방법 소개
숫자 및 문자열 작업을 위한 확장된 해결책 제시
기본에 충실한 최신 SQL 해결 방안 제공


추천사



윈도우 함수, 공통 테이블 표현식, 재귀적 계층 쿼리를 포함하여 최신 SQL 주제를 다루는 책을 보게 되어 너무나 기쁩니다.

- 토마스 닐드, 『Getting Started with SQL』 저자



이 책은 SQL을 다루는 어떤 책에서도 본 적이 없는 수준의 흥분을 불러일으킵니다. 효과적이고 효율적인 해법을 완급 조절하며 제공하여, 이전에 습득한 내용을 강화하고 보완합니다.

- 스콧 헤인즈, Twilio 수석 소프트웨어 엔지니어


저자 프로필

앤서니 몰리나로

  • 학력 뉴욕시립대학교 헌터 칼리지 응용수학/통계학 석사
    뉴욕시립대학교 헌터 칼리지 수학 학사
  • 경력 존슨앤드존슨 데이터 과학자

2022.02.10. 업데이트 작가 프로필 수정 요청


저자 소개

저자
앤서니 몰리나로

미국 제약회사인 존슨앤드존슨의 데이터 과학자이다. 현재 자회사인 얀센 내 관찰 건강 데이터 분석 그룹의 매니저이다. 주요 연구 분야는 비모수적 방법, 시계열 분석, 대규모 데이터베이스 특성화 및 변환이다. 오픈 사이언스 OHDSI 커뮤니티 회원이기도 하다. 뉴욕시립대학교 헌터 칼리지에서 수학 학사, 응용수학 및 통계학 석사 학위를 받았다. 아내 조지아와 두 딸 키키, 코니와 함께 뉴욕에 살고 있다.

저자
로버트 더그래프

공학을 전공했으며 졸업한 뒤 제조업계에 종사했다. 기술자로 일하는 동안 실제 문제를 해결하는 통계학의 힘에 매력을 느끼고, 데이터 과학의 효용성에 관한 관심이 높아질 무렵 통계학 석사 학위를 수료했다. 2013년부터 세계 최대의 선박 위험 관리 및 평가기관인 라이트십에서 수석 데이터 과학자로 근무했다. 『Managing Your Data Science Projects』(Apress, 2019)의 저자이다.

역자
송희정

대우정보시스템 벤처포트 전자상거래 사업부에서 자바 웹 개발자로 근무했다. 이후 기술연구소로 옮겨 기술 전략팀을 거친 후, 전사 표준 프레임워크 개발, 보급 및 JavaEE 기술 컨설팅을 수행했다. 오라클에서 미들웨어 엔지니어로 활동하다가 2012년 이후 오라클 교육사업본부에서 교육 컨설턴트로서 기업체 대상의 전문가 양성 과정 개발과 DT 기술 역량 확보 및 내재화 관련 컨설팅을 했다.

목차

CHAPTER 1 레코드 검색

1.1 테이블의 모든 행과 열 검색하기

1.2 테이블에서 행의 하위 집합 검색하기

1.3 여러 조건을 충족하는 행 찾기

1.4 테이블에서 열의 하위 집합 검색하기

1.5 열에 의미 있는 이름 지정하기

1.6 WHERE 절에서 별칭이 지정된 열 참조하기

1.7 열 값 이어 붙이기

1.8 SELECT 문에서 조건식 사용하기

1.9 반환되는 행 수 제한하기

1.10 테이블에서 n개의 무작위 레코드 반환하기

1.11 null 값 찾기

1.12 null을 실젯값으로 변환하기

1.13 패턴 검색하기

1.14 마치며



CHAPTER 2 쿼리 결과 정렬

2.1 지정한 순서대로 쿼리 결과 반환하기

2.2 다중 필드로 정렬하기

2.3 부분 문자열로 정렬하기

2.4 혼합 영숫자 데이터 정렬하기

2.5 정렬할 때 null 처리하기

2.6 데이터 종속 키 기준으로 정렬하기

2.7 마치며



CHAPTER 3 REST 다중 테이블 작업

3.1 행 집합을 다른 행 위에 추가하기

3.2 연관된 여러 행 결합하기

3.3 두 테이블의 공통 행 찾기

3.4 한 테이블에서 다른 테이블에 존재하지 않는 값 검색하기

3.5 다른 테이블 행과 일치하지 않는 행 검색하기

3.6 다른 조인을 방해하지 않고 쿼리에 조인 추가하기

3.7 두 테이블에 같은 데이터가 있는지 확인하기

3.8 데카르트 곱 식별 및 방지하기

3.9 집계를 사용할 때 조인 수행하기

3.10 집계 시 외부 조인 수행하기

3.11 여러 테이블에서 누락된 데이터 반환하기

3.12 연산 및 비교에서 null 사용하기

3.13 마치며



CHAPTER 4 삽입, 갱신 및 삭제하기

4.1 새로운 레코드 삽입하기

4.2 기본값 삽입하기

4.3 null로 기본값 오버라이딩하기

4.4 한 테이블에서 다른 테이블로 행 복사하기

4.5 테이블 정의 복사하기

4.6 한 번에 여러 테이블에 삽입하기

4.7 특정 열에 대한 삽입 차단하기

4.8 테이블에서 레코드 수정하기

4.9 일치하는 행이 있을 때 업데이트하기

4.10 다른 테이블 값으로 업데이트하기

4.11 레코드 병합하기

4.12 테이블에서 모든 레코드 삭제하기

4.13 특정 레코드 삭제하기

4.14 단일 레코드 삭제하기

4.15 참조 무결성 위반 삭제하기

4.16 중복 레코드 삭제하기

4.17 다른 테이블에서 참조된 레코드 삭제하기

4.18 마치며



CHAPTER 5 메타 데이터 쿼리

5.1 스키마의 테이블 목록 보기

5.2 테이블의 열 나열하기

5.3 테이블의 인덱싱된 열 나열하기

5.4 테이블의 제약조건 나열하기

5.5 관련 인덱스가 없는 외래 키 나열하기

5.6 SQL로 SQL 생성하기

5.7 Oracle에서 데이터 딕셔너리 뷰 확인하기

5.8 마치며



CHAPTER 6 문자열 작업

6.1 문자열 짚어보기

6.2 문자열에 따옴표 포함하기

6.3 문자열에서 특정 문자의 발생 횟수 계산하기

6.4 문자열에서 원하지 않는 문자 제거하기

6.5 숫자 및 문자 데이터 분리하기

6.6 문자열의 영숫자 여부 확인하기

6.7 이름에서 이니셜 추출하기

6.8 문자열 일부를 정렬하기

6.9 문자열의 숫자로 정렬하기

6.10 테이블 행으로 구분된 목록 만들기

6.11 구분된 데이터를 다중값 IN 목록으로 변환하기

6.12 문자열을 알파벳 순서로 정렬하기

6.13 숫자로 취급할 수 있는 문자열 식별하기

6.14 n번째로 구분된 부분 문자열 추출하기

6.15 IP 주소 파싱하기

6.16 소리로 문자열 비교하기

6.17 패턴과 일치하지 않는 텍스트 찾기

6.18 마치며



CHAPTER 7 숫자 작업

7.1 평균 계산하기

7.2 열에서 최댓값, 최솟값 찾기

7.3 열의 값 집계하기

7.4 테이블의 행 수 계산하기

7.5 열의 값 세어보기

7.6 누계 생성하기

7.7 누적곱 생성하기

7.8 일련의 값 평활화하기

7.9 최빈값 계산하기

7.10 중앙값 계산하기

7.11 총계에서의 백분율 알아내기

7.12 null 허용 열 집계하기

7.13 최댓값과 최솟값을 배제한 평균 계산하기

7.14 영숫자 문자열을 숫자로 변환하기

7.15 누계에서 값 변경하기

7.16 중위절대편차로 특잇값 찾기

7.17 벤포드의 법칙으로 이상 징후 찾기

7.18 마치며



CHAPTER 8 날짜 산술

8.1 일, 월, 연도 가감하기

8.2 두 날짜 사이의 일수 알아내기

8.3 두 날짜 사이의 영업일수 알아내기

8.4 두 날짜 사이의 월 또는 년 수 알아내기

8.5 두 날짜 사이의 시, 분, 초 알아내기

8.6 1년 중 평일 발생 횟수 계산하기

8.7 현재 레코드와 다음 레코드 간의 날짜 차이 알아내기

8.8 마치며



CHAPTER 9 날짜 조작기법

9.1 연도의 윤년 여부 결정하기

9.2 연도의 날짜 수 알아내기

9.3 날짜에서 시간 단위 추출하기

9.4 월의 첫 번째 요일과 마지막 요일 알아내기

9.5 연도의 특정 요일의 모든 날짜 알아내기

9.6 월의 특정 요일의 첫 번째 및 마지막 발생일 알아내기

9.7 달력 만들기

9.8 해당 연도의 분기 시작일 및 종료일 나열하기

9.9 지정 분기의 시작일 및 종료일 알아내기

9.10 누락된 날짜 채우기

9.11 특정 시간 단위 검색하기

9.12 날짜의 특정 부분으로 레코드 비교하기

9.13 중복 날짜 범위 식별하기

9.14 마치며



CHAPTER 10 범위 관련 작업하기

10.1 연속 값의 범위 찾기

10.2 같은 그룹 또는 파티션의 행 간 차이 찾기

10.3 연속 값 범위의 시작과 끝 찾기

10.4 값 범위에서 누락된 값 채우기

10.5 연속된 숫자값 생성하기

10.6 마치며



CHAPTER 11 고급 검색

11.1 결과셋을 페이지로 매기기

11.2 테이블에서 n개 행 건너뛰기

11.3 외부 조인을 사용할 때 OR 로직 통합하기

11.4 역수 행 확인하기

11.5 상위 n개 레코드 선택하기

11.6 최댓값과 최솟값을 가진 레코드 찾기

11.7 이후 행 조사하기

11.8 행 값 이동하기

11.9 순위 결과

11.10 중복 방지하기

11.11 기사값 찾기

11.12 간단한 예측 생성하기

11.13 마치며



CHAPTER 12 보고서 작성과 재구성하기

12.1 결과셋을 하나의 행으로 피벗하기

12.2 결과셋을 여러 행으로 피벗하기

12.3 결과셋 역피벗하기

12.4 결과셋을 한 열로 역피벗하기

12.5 결과셋에서 반복값 숨기기

12.6 행 간 계산하는 결과셋 피벗하기

12.7 고정 크기의 데이터 버킷 생성하기

12.8 사전 정의된 수의 버킷 생성하기

12.9 수평 히스토그램 생성하기

12.10 수직 히스토그램 생성하기

12.11 비 GROUP BY 열 반환하기

12.12 단순 소계 계산하기

12.13 가능한 모든 식 조합의 소계 계산하기

12.14 소계가 아닌 행 식별하기

12.15 Case 표현식으로 행 플래그 지정하기

12.16 희소행렬 만들기

12.17 시간 단위로 행 그룹화하기

12.18 여러 그룹/파티션 집계를 동시 수행하기

12.19 값의 이동 범위에 대한 집계 수행하기

12.20 소계를 사용한 결과셋 피벗하기

12.21 마치며



CHAPTER 13 계층적 쿼리

13.1 상위-하위 관계 표현하기

13.2 자식-부모-조부모 관계 표현하기

13.3 테이블의 계층 뷰 생성하기

13.4 지정한 상위 행에 대한 모든 하위 행 찾기

13.5 리프, 분기, 루트 노드 행 확인하기

13.6 마치며



CHAPTER 14 기타 다양한 기법들

14.1 SQL Server의 PIVOT 연산자로 교차 분석 보고서 생성하기

14.2 SQL Server의 UNPIVOT 연산자로 교차 분석 보고서의 피벗 해제하기

14.3 Oracle의 MODEL 절로 결과셋 전송하기

14.4 고정되지 않은 위치에서 문자열 요소 추출하기

14.5 연간 일수 찾기(Oracle용 대체 해법)

14.6 영숫자 혼합 문자열 검색하기

14.7 Oracle에서 정수를 이진수로 변환하기

14.8 순위 결과셋 피벗하기

14.9 이중 피벗 결과셋에 열 머리글 추가하기

14.10 Oracle에서 스칼라 서브쿼리를 복합 서브쿼리로 변환하기

14.11 직렬화된 데이터를 행으로 구문 분석하기

14.12 합계에 대한 백분율 계산하기

14.13 그룹 내 값의 존재 여부 테스트하기

14.14 마치며



부록 A 윈도 함수 리프레셔 631

부록 B 공통 테이블 식 663


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전