이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
옮긴이 머리말 xiv베타리더 후기 xvi머리말 xix이 책에 대하여 xxiiPART I | SQL이라는 마법CHAPTER 1 | CASE 식 활용하기 21.1 시작하며 21.2 CASE 식의 기본 형태 31.3 기존 코드를 새로운 체계로 바꿔서 집계하기 51.4 서로 다른 조건을 하나의 SQL로 집계하기 91.5 CHECK 제약으로 여러 열의 조건 관계 정의하기 131.6 조건에 따라 다르게 UPDATE하기 151.7 테이블 간 매칭 201.8 CASE 식 안에서 집계 함수 사용하기 221.9 정리 25CHAPTER 2 | 윈도 함수 완전 정복 302.1 윈도란 무엇인가? 312.2 한 장으로 이해하는 윈도 함수 342.3 프레임 절로 다른 행의 데이터 가져오기 352.4 윈도 함수의 내부 동작 432.5 정리 46CHAPTER 3 | 셀프 조인 활용법 503.1 중복순열, 순열, 조합 503.2 중복 행 삭제하기 563.3 부분적으로 일치하지 않는 키 검색하기 583.4 정리 61CHAPTER 4 | 3값 논리와 NULL 674.1 시작하며 674.2 이론편 684.3 실전편 734.4 정리 86CHAPTER 5 | EXISTS 술어 사용법 935.1 이론편 945.2 실전편5.3 정리 113CHAPTER 6 | HAVING 절의 힘 1166.1 데이터 누락 찾기 1176.2 HAVING 절과 서브쿼리: 최빈값 구하기 1226.3 NULL을 포함하지 않는 집합 찾기 1256.4 HAVING 절과 보편 양화 1326.5 유일 집합과 다중 집합 1376.6 관계 나눗셈으로 장바구니 분석하기 1406.7 정리 145CHAPTER 7 | 윈도 함수로 행 간 비교하기 1517.1 시작하며 1517.2 성장·감소·현상 유지 1527.3 시계열에 누락된 연도가 있는 경우: 직전 연도와 비교 1577.4 윈도 함수 vs 상관 서브쿼리 1597.5 겹치는 기간 확인하기 1647.6 정리 169CHAPTER 8 | 외부 조인 활용법 1718.1 시작하며 1718.2 외부 조인으로 행렬 변환 (1): 행→열로 바꿔 크로스 테이블 만들기 1728.3 외부 조인으로 행렬 변환 (2): 열→행으로 반복되는 항목 정리하기 1778.4 크로스 테이블로 중첩된 행 구조 만들기 1808.5 곱셈으로서의 조인 1858.6 완전 외부 조인 1888.7 외부 조인으로 집합 연산하기 1918.8 외부 조인으로 차집합 구하기: A - B 1918.9 외부 조인으로 차집합 구하기: B - A 1928.10 완전 외부 조인으로 배타적 합집합 구하기 1938.11 정리 195CHAPTER 9 | SQL의 집합 연산 1989.1 시작하며 1989.2 집합 연산과 관련된 몇 가지 주의점 1999.3 테이블끼리 비교하기: 집합의 동일성 확인[기본편] 2009.4 테이블 비교: 집합의 동일성 확인[응용편] 2049.5 차집합으로 관계 나눗셈 표현하기 2069.6 동일한 부분집합 찾기 2099.7 중복 행을 빠르게 삭제하는 쿼리 2139.8 정리 215CHAPTER 10 | SQL로 수열 다루기 21810.1 시작하며 21810.2 순번 만들기 21910.3 누락된 번호 전부 찾기 22310.4 세 명이 연속으로 앉을 수 있는 좌석 배치 22510.5 줄바꿈이 있는 수열 22910.6 단조증가와 단조감소 23110.7 정리 235CHAPTER 11 | SQL 빠르게 만들기 23811.1 시작하며 23811.2 효율적으로 검색하기 23911.3 정렬 피하기 24111.4 극값 함수(MAX/MIN)에서 인덱스 사용하기 24511.5 WHERE 절에 쓸 수 있는 조건은 HAVING 절에 쓰지 않기 24611.6 인덱스가 정말 사용되고 있을까? 24711.7 중간 테이블 줄이기 25111.8 정리 254CHAPTER 12 | SQL 프로그래밍 스타일 25612.1 시작하며 25612.2 테이블 설계 25812.3 코딩 스타일 지침 26012.4 대문자와 소문자 26512.5 정리 273PART II | 관계형 데이터베이스의 세계CHAPTER 13 | RDB 근현대사 27613.1 관계형 데이터베이스의 역사 27613.2 파괴적 혁신은 반복될까? 28213.3 NoSQL의 종류와 해결 방법 28413.4 성능 문제 해결하기 28513.5 정리 287CHAPTER 14 | 왜 ‘관계’ 모델이라고 부를까? 28914.1 관계의 정의 29014.2 도메인의 우울 29314.3 관곗값과 관계 변수 29414.4 관계 안의 관계가 가능할까? 295CHAPTER 15 | 관계로 시작해 관계로 끝나다 29815.1 연산으로 보는 집합 29815.2 이론과 실제 301CHAPTER 16 | 주소라는 거대한 괴물 30316.1 시작하며 30416.2 주소에서 자유로워지기 위해 태어난 관계 모델 30416.3 프로그래밍에 넘쳐나는 주소 30616.4 사라지지 않는 노병: 배커스의 꿈 308CHAPTER 17 | 순서를 둘러싼 모험 30917.1 늦게 나타난 주인공 30917.2 행에 순서가 있어야 할까? 309CHAPTER 18 | GROUP BY와 PARTITION BY 31518.1 차이점을 아시나요? 315CHAPTER 19 | 절차형에서 선언형·집합 지향으로 사고 전환을 위한 7가지 원칙 32119.1 IF 문과 CASE 문을 CASE 식으로 바꾸기: SQL은 함수형 언어와 비슷하다 32219.2 반복문을 GROUP BY 절과 윈도 함수로 바꾸기 32419.3 테이블 행에는 순서가 없음을 기억하기 32419.4 테이블을 집합으로 보기 32619.5 EXISTS 술어와 ‘양화’ 개념 이해하기 32619.6 HAVING 절의 진짜 가치 알아보기 32719.7 네모 말고 원 그리기 328CHAPTER 20 | 신이 사라진 세상의 논리 33020.1 때로는 참과 거짓을 포기하라 33020.2 논리학의 혁명 33220.3 인간을 위한 논리 333CHAPTER 21 | SQL과 재귀 집합 33521.1 실무에서 만나는 재귀 집합 33521.2 노이만의 선배들 33621.3 수란 무엇인가? 33821.4 SQL의 마술과 과학 341CHAPTER 22 | NULL 박멸 위원회 34222.1 결의문: 모든 DB 엔지니어에게 고함 34222.2 왜 NULL이 그렇게 나쁠까? 34322.3 하지만 NULL을 완전히 없앨 수는 없다 34422.4 코드의 경우: 대체 코드 만들기 34622.5 이름의 경우: 기본값 정하기 34722.6 숫자의 경우: 0으로 바꾸기 34722.7 날짜의 경우: 최댓값·최솟값 사용하기 34822.8 지침 정리 348CHAPTER 23 | SQL의 존재 계층 34923.1 술어 논리의 계층과 집합의 계층 34923.2 집계하면 왜 원래 열을 참조할 수 없을까? 35023.3 원소 하나짜리 집합도 엄연한 집합이다 354PART III | 부록APPENDIX A | 연습 문제 해답 358맺음말 386찾아보기 390
|
ミック
미크의 다른 상품
윤인성의 다른 상품
|
SQL은 문법이 아니라 사고방식이다 초급에서 벗어나는 SQL 사고법과 작성 원칙 SELECT는 쓸 줄 아는데 왜 쿼리는 항상 복잡해질까? 왜 이렇게 써야 하는지 이해하는 순간 쿼리는 훨씬 단순해진다. 이 책은 SQL을 문법이나 요령의 모음이 아니라 원리와 사고방식의 언어로 바라본다는 점에서 특별하다. 저자는 일본 IT 업계에서 오랜 시간 데이터베이스와 SQL을 다뤄온 전문가다. 그 경험을 바탕으로, SQL을 ‘어떻게 쓰는가’에서 그치지 않고 ‘왜 그렇게 쓰는가’라는 관점에서 설명한다. 따라서 특정 DBMS에 종속된 기능이나 기법은 다루지 않는다. 관계형 데이터베이스의 기본 원리와 SQL이 설계된 배경을 짚어가며, 이를 토대로 더 좋은 SQL 쿼리를 작성하는 방법을 보여준다. 1부는 CASE, 윈도 함수, 조인, NULL, EXISTS, HAVING, 집합 연산, 수열 다루기, 성능 최적화, 코딩 스타일 등 실전적인 SQL 활용법을 다룬다. 2부는 관계형 데이터베이스의 세계를 더 깊이 파고든다. RDB 근현대사로 시작해 절차형/선언형/집합 지향 등 프로그래밍 언어 패러다임과 논리학, 재귀 집합, NULL까지 SQL의 근간이 되는 이론과 맥락을 풀어놓는다. 늘 비슷한 방식으로만 쿼리를 작성해왔다면 이 책은 익숙한 SQL을 완전히 다른 관점에서 다시 볼 수 있게 해줄 것이다. SQL을 도구가 아니라 생각하는 방식으로 이해하고 싶은 사람에게 특히 의미 있는 책이다.
|