이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
불친절한 SQL 프로그래밍
기본 개념에서 고급 기능까지 오라클 SQL의 바이블
정희락
디비안(DBian) 2018.09.10.
베스트
OS/데이터베이스 top20 1주
가격
44,000
5 41,800
YES포인트?
0원
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

책소개

목차

1부 기본 개념 _ 1

1. 데이터 _ 3
1.1 데이터 _ 3
1.2 데이터베이스 _ 5
1.3 데이터베이스 관리 시스템 _ 6
1.4 IT 시스템 _ 7
1.5 직종과 직무 _ 8

2. 데이터 모델링 _ 11
2.1 데이터 모델 _ 11
2.2 E-R 모델 _ 12
2.2.1 엔터티 _ 13
2.2.2 속성 _ 14
2.2.3 관계 _ 15
2.2.4 예시 데이터 모델 _ 20
2.3 정규형 _ 22
2.3.1 정규화 _ 22
2.3.2 비정규화 _ 25
2.4 물리 데이터 모델 _ 25

3. 오라클 데이터베이스 _ 27
3.1 개념 _ 27
3.1.1 사용자 _ 28
3.1.2 오브젝트 _ 28
3.1.3 테이블 _ 29
3.1.4 데이터 타입 _ 30
3.1.5 데이터 무결성 _ 30
3.1.6 트랜잭션 _ 31
3.1.7 정적 데이터 딕셔너리 뷰 _ 31
3.1.8 동적 성능 뷰 _ 31
3.2 구조 _ 32
3.2.1 데이터베이스와 인스턴스 _ 33
3.2.2 프로세스 구조 _ 35
3.2.3 메모리 구조 _ 35
3.2.4 저장 구조 _ 37
3.2.5 네트워크 구조 _ 38
3.2.6 애플리케이션 구조 _ 39

4. SQL _ 43
4.1 역사 _ 43
4.2 특징 _ 44
4.3 종류 _ 45
4.4 처리 과정 _ 45
4.5 수행 과정 _ 46


2부 기초 쿼리 _ 49

5. SELECT 문 _ 51
5.1 SELECT 절 _ 52
5.1.1 애스터리스크 _ 52
5.1.2 열 _ 53
5.1.3 열 별칭 _ 55
5.1.4 DISTINCT 키워드 _ 55
5.2 FROM 절 _ 56
5.2.1 스키마 _ 56
5.2.2 테이블 별칭 _ 57
5.2.3 SAMPLE 절 _ 58
5.3 기본 요소 _ 58
5.3.1 리터럴 _ 58
5.3.2 널 _ 65
5.3.3 연산자 _ 65
5.3.4 표현식 _ 69
5.3.5 슈도 칼럼 _ 72
5.3.6 주석 _ 73
5.4 바인드 변수 _ 75

6. 단일 행 함수 _ 77
6.1 문자 함수 _ 78
6.2 숫자 함수 _ 89
6.3 날짜 함수 _ 96
6.4 변환 함수 _ 107
6.5 널 관련 함수 _ 123
6.6 비교 함수 _ 126
6.7 엔코딩 디코딩 함수 _ 127
6.8 환경 식별자 함수 _ 132

7. WHERE 절 _ 141
7.1 비교 조건 _ 141
7.2 논리 조건 _ 144
7.3 BETWEEN 조건 _ 146
7.4 IN 조건 _ 148
7.5 LIKE 조건 _ 151
7.6 널 조건 _ 154
7.7 조건 우선순위 _ 156
7.8 활용 예제 _ 159

8. ORDER BY 절 _ 169
8.1 기본 문법 _ 169
8.2 활용 예제 _ 175

9. 집계 함수 _ 179
9.1 기본 함수 _ 179
9.2 통계 함수 _ 185
9.3 순위 함수 _ 187
9.4 분포 함수 _ 191
9.5 기타 함수 _ 193
9.6 KEEP 키워드 _ 194

10. GROUP BY 절과 HAVING 절 _ 197
10.1 GROUP BY 절 _ 197
10.2 GROUP BY 절의 확장 기능 _ 204
10.2.1 ROLLUP _ 204
10.2.2 CUBE _ 205
10.2.3 GROUPING SETS _ 207
10.2.4 조합 열 _ 208
10.2.5 연결 그룹 _ 209
10.2.6 관련 함수 _ 210
10.3 HAVING 절 _ 213


3부 중급 쿼리 _ 217

11. 조인 _ 219
11.1 기본 원리 _ 219
11.1.1 조인 조건 _ 220
11.1.2 조인 범위 _ 227
11.1.3 조인 차수 _ 240
11.2 기술 순서 _ 245
11.3 ANSI 조인 문법 _ 250
11.3.1 NATURAL JOIN 절 _ 250
11.3.2 USING 절 _ 250
11.3.3 CROSS JOIN 절 _ 250
11.3.4 INNER JOIN 절 _ 251
11.3.5 OUTER JOIN 절 _ 252
11.4 파티션 아우터 조인 _ 257
11.5 활용 예제 _ 257

12. 서브 쿼리 _ 283
12.1 중첩 서브 쿼리 _ 285
12.1.1 비상관 서브 쿼리 _ 286
12.1.2 상관 서브 쿼리 _ 291
12.1.3 사용 기준 _ 295
12.2 스칼라 서브 쿼리 _ 300
12.3 인라인 뷰 _ 302
12.4 사용 기준 _ 304
12.5 WITH 절 _ 309
12.5.1 SUBQUERY FACTORING 절 _ 310
12.5.2 PL/SQL 선언 _ 311
12.6 신규 기능 _ 312
12.6.1 LATERAL 인라인 뷰 _ 312
12.6.2 CROSS APPLY 절 _ 314
12.6.3 OUTER APPLY 절 _ 314
12.6.4 기존 동작 변화 _ 315

13. 집합 연산자 _ 317
13.1 기본 문법 _ 319
13.1.1 UNION ALL 연산자 _ 319
13.1.2 UNION 연산자 _ 320
13.1.3 INTERSECT 연산자 _ 322
13.1.4 MINUS 연산자 _ 323
13.2 제약 사항 _ 323
13.3 활용 예제 _ 326

14. 분석 함수 _ 337
14.1 기본 문법 _ 338
14.1.1 QUERY PARTITION 절 _ 338
14.1.2 ORDER BY 절 _ 339
14.1.3 WINDOWDING 절 _ 340
14.1.4 KEEP 키워드 _ 350
14.1.5 제약 사항 _ 351
14.2 분석 함수 _ 354
14.2.1 기본 함수 _ 355
14.2.2 통계 함수 _ 361
14.2.3 순위 함수 _ 363
14.2.4 분포 함수 _ 372
14.2.5 순차 함수 _ 374
14.2.6 기타 함수 _ 379
14.3 활용 예제 _ 386

15. Top-N 쿼리 _ 395
15.1 기본 문법 _ 395
15.1.1 ROWNUM 방식 _ 395
15.1.2 분석 함수 방식 _ 400
15.1.3 ROW LIMITING 절 _ 403
15.2 고급 주제 _ 405
15.2.1 Top-N 쿼리와 조인 _ 405
15.2.2 Top-N 쿼리와 UNION ALL 연산자 _ 407

16. 계층 쿼리 _ 409
16.1 계층 쿼리 절 _ 413
16.1.1 기본 문법 _ 413
16.1.2 동작 원리 _ 415
16.1.3 전개 방향 _ 419
16.1.4 계층 정렬 _ 420
16.1.5 루프 처리 _ 421
16.2 재귀 서브 쿼리 팩토링 _ 423
16.2.1 기본 문법 _ 423
16.2.2 계층 정렬 _ 425
16.2.3 루프 처리 _ 427
16.3 고급 주제 _ 429
16.3.1 노드 제거 _ 429
16.3.2 다중 루트 노드 _ 430
16.3.3 다중 속성 순환 관계 _ 431
16.3.4 계층 쿼리와 조인 _ 435
16.4 활용 예제 _ 436

17. PIVOT 절과 UNPIVOT 절 _ 443
17.1 PIVOT 절 _ 443
17.1.1 기본 문법 _ 444
17.1.2 기존 방식 _ 448
17.2 UNPIVOT 절 _ 449
17.2.1 기본 문법 _ 449
17.2.2 기존 방식 _ 454
17.3 활용 예제 _ 455


4부 관리 구문 _ 459

18. DML 문 _ 461
18.1 INSERT 문 _ 461
18.1.1 단일 테이블 INSERT 문 _ 461
18.1.2 다중 테이블 INSERT 문 _ 465
18.2 UPDATE 문 _ 469
18.3 DELETE 문 _ 474
18.4 MERGE 문 _ 476
18.4.1 기본 문법 _ 476
18.4.2 고급 주제 _ 486
18.5 DML 에러 로깅 _ 491

19. TCS 문 _ 497
19.1 트랜잭션 _ 498
19.1.1 구조 _ 498
19.1.2 SCN _ 499
19.2 기본 문법 _ 500
19.2.1 COMMIT 문 _ 501
19.2.2 ROLLBACK 문 _ 502
19.2.3 SAVEPOINT 문 _ 504
19.3 데이터 동시성 _ 508
19.3.1 락킹 메커니즘 _ 508
19.3.2 동시성 제어 _ 512
19.4 데이터 일관성 _ 520
19.4.1 문장 수준 읽기 일관성 _ 521
19.4.2 트랜잭션 수준 읽기 일관성 _ 522

20. DDL 문 _ 527
20.1 테이블 _ 527
20.1.1 기본 문법 _ 527
20.1.2 테이블 유형 _ 539
20.2 열 _ 555
20.2.1 기본 문법 _ 555
20.2.2 데이터 타입 _ 561
20.2.3 기본값 _ 574
20.2.4 열 유형 _ 575
20.3 제약 조건 _ 581
20.3.1 기본 문법 _ 581
20.3.2 제약 조건 유형 _ 583
20.3.3 제약 조건 상태 _ 599
20.4 인덱스 _ 605
20.4.1 기본 문법 _ 606
20.4.2 인덱스 유형 _ 611
20.4.3 인덱스와 제약 조건 _ 616
20.5 파티션 _ 622
20.5.1 파티션 테이블 _ 622
20.5.2 파티션 인덱스 _ 640
20.5.3 관리 구문 _ 643
20.5.4 관리 구문과 인덱스 _ 652
20.5.5 신규 기능 _ 653
20.6 뷰 _ 658
20.6.1 기본 문법 _ 658
20.6.2 활용 예제 _ 666
20.7 시퀀스 _ 669
20.7.1 기본 문법 _ 669
20.7.2 시퀀스 유형 _ 673
20.7.3 신규 기능 _ 675
20.7.4 활용 예제 _ 680
20.8 시너님 _ 682
20.8.1 기본 문법 _ 682
20.8.2 시너님 유형 _ 685
20.9 데이터베이스 링크 _ 687
20.9.1 기본 문법 _ 687
20.9.2 고급 주제 _ 690
20.10 COMMENT 문 _ 693

21. DCL 문 _ 695
21.1 사용자 _ 695
21.1.1 기본 문법 _ 695
21.2 권한 _ 698
21.2.1 기본 문법 _ 698
21.3 롤 _ 709
21.3.1 기본 문법 _ 709
21.3.2 SET ROLE 문 _ 714

22. SCS 문 _ 719
22.1 기본 문법 _ 719
22.1.1 ALTER SESSION SET 절 _ 720


5부 고급 쿼리 _ 729

23. 세계화 지원 _ 731
23.1 시간대 지원 _ 731
23.1.1 데이터 타입 _ 731
23.1.2 날짜 함수 _ 733
23.1.3 날짜 표현식 _ 739
23.2 다국어 지원 _ 740
23.2.1 캐릭터 셋 _ 740
23.2.2 데이터 타입 _ 741
23.2.3 관련 함수 _ 742

24. 정규 표현식 _ 743
24.1 기본 문법 _ 743
24.1.1 POSIX 연산자 _ 743
24.1.2 PERL 정규 표현식 연산자 _ 752
24.2 정규 표현식 조건과 함수 _ 756
24.3 활용 예제 _ 764

25. 근사 쿼리 _ 767
25.1 근사 함수 _ 767
25.2 초기화 파라미터 _ 773

26. MODEL 절 _ 777
26.1 기본 문법 _ 777
26.1.1 RULES 절 _ 781
26.1.2 규칙 옵션 _ 785
26.1.3 셀 참조 옵션 _ 789
26.1.4 행 반환 옵션 _ 792
26.1.5 참조 모델 _ 793
26.2 고급 주제 _ 796
26.2.1 널과 누락된 셀 처리 _ 796
26.2.2 FOR 루프 _ 798
26.2.3 MODEL ITERATE 절 _ 804
26.2.4 규칙 종속 _ 806
26.2.5 정렬 규칙 _ 807
26.2.6 분석 함수 _ 810
26.3 활용 예제 _ 812

27. MATCH_RECOGNIZE 절 _ 817
27.1 기본 문법 _ 817
27.1.1 PARTITION BY 절 _ 820
27.1.2 ORDER BY 절 _ 820
27.1.3 ROW PER MATCH 절 _ 821
27.1.4 MEASURE 절 _ 821
27.1.5 PATTERN 절 _ 821
27.1.6 SUBSET 절 _ 824
27.1.7 DEFINE 절 _ 825
27.1.8 SKIP TO 절 _ 825
27.1.9 MEASURE 절과 DEFINE 절의 표현식 _ 826
27.2 고급 주제 _ 833
27.2.1 중첩 탐색 함수 _ 833
27.2.2 빈 일치와 불일치 행 _ 834
27.2.3 제외 _ 834
27.2.4 순열 _ 835
27.3 활용 예제 _ 836

28. 사용자 정의 타입 _ 857
28.1 기본 문법 _ 857
28.1.1 오브젝트 타입 _ 858
28.1.2 중첩 테이블 _ 858
28.2 MULTISET 조건 _ 864
28.3 컬렉션 함수 _ 866
28.4 TABLE 컬렉션 표현식 _ 871
28.5 활용 예제 _ 873

29. XML 개발 _ 875
29.1 기본 문법 _ 875
29.1.1 XMLType _ 875
29.1.2 XMLType 멤버 함수 _ 877
29.1.3 XPath 표현식 _ 877
29.1.4 XML 함수 _ 883
29.1.5 XQuery 표현식 _ 893
29.1.6 DBMS_XMLGEN 패키지 _ 903
29.2 활용 예제 _ 904

30. JSON 개발 _ 907
30.1 기본 문법 _ 907
30.1.1 JSON 열 _ 907
30.1.2 점 표기법 _ 909
30.1.3 SQL/JSON Path 표현식 _ 910
30.1.4 SQL/JSON 조건 _ 910
30.1.5 JSON 함수 _ 913
30.2 활용 예제 _ 920

31. Flashback 기술 _ 921
31.1 Flashback 기능 _ 921
31.1.1 Flashback Query _ 921
31.1.2 Flashback Version Query _ 924
31.1.3 Flashback Transaction Query _ 925
31.1.4 Flashback Table _ 926
31.1.5 Flashback Drop _ 927
31.1.6 Flashback Database _ 928
31.2 Temporal Validity _ 929
31.2.1 관리 구문 _ 929
31.2.2 조회 구문 _ 931
31.2.3 DBMS_FLASHBACK_ARCHIVE 패키지 _ 933

32. 제공 패키지 _ 935
32.1 DBMS_CRYPTO 패키지 _ 935
32.1.1 패키지 함수 _ 936
32.1.2 활용 예제 _ 941
32.2 DBMS_RANDOM 패키지 _ 944
32.3 DBMS_LOB 패키지 _ 945
32.4 DBMS_METADATA 패키지 _ 948
32.5 DBMS_APPLICATION_INFO 패키지 _ 951
32.6 DBMS_SESSION 패키지 _ 952
32.7 UTL_RAW 패키지 _ 954
32.7.1 패키지 함수 _ 954
32.7.2 활용 예제 _ 954
32.8 UTL_MATCH 패키지 _ 956
32.9 UTL_RECOMP 패키지 _ 958

부록 _ 961
A. SCOTT 스키마 _ 963
B. ERD 표기법 _ 965
C. 예시 데이터 모델 _ 969
D. oerr 명령어 _ 973
E. 문자열 결합 _ 979
F. 시간 차원 테이블 _ 989
G. 블로킹 처리 _ 997
H. 복합 FK 제약 조건 _ 1001
I. 도메인 인덱스 _ 1007
J. 시퀀스 값 변경 _ 1013
K. SCALABLE 시퀀스 _ 1017
L. 문자열 분리 _ 1021
M. CUROSR 표현식 _ 1025

저자 소개 1

現 주식회사 디비안 수석 컨설턴트. 前 에프앤자산평가, 에프앤가이드, 비투엔. 광운대학교에서 컴퓨터 공학을 전공했다. 2007년부터 에프앤가이드에서 데이터베이스 개발자로 근무했고, 자회사인 에프앤자산평가에서 TA 업무를 담당했다. 비투엔으로 이직한 2011년부터 데이터 컨설턴트로 일하기 시작했고, 현재는 디비안에서 수석 컨설턴트로 재직하고 있다. 대외적으로는 한국데이터산업진흥원에서 주관하는 국가공인 SQLP, DAP 자격검정 전문위원으로 활동하고 있다. 데이터베이스 기술, 시스템 최적화, 애플리케이션 개발에 관심이 많다. 틈틈이 DB 기술 블로그(hrjeong.tistor
現 주식회사 디비안 수석 컨설턴트.
前 에프앤자산평가, 에프앤가이드, 비투엔.
광운대학교에서 컴퓨터 공학을 전공했다. 2007년부터 에프앤가이드에서 데이터베이스 개발자로 근무했고, 자회사인 에프앤자산평가에서 TA 업무를 담당했다. 비투엔으로 이직한 2011년부터 데이터 컨설턴트로 일하기 시작했고, 현재는 디비안에서 수석 컨설턴트로 재직하고 있다. 대외적으로는 한국데이터산업진흥원에서 주관하는 국가공인 SQLP, DAP 자격검정 전문위원으로 활동하고 있다. 데이터베이스 기술, 시스템 최적화, 애플리케이션 개발에 관심이 많다. 틈틈이 DB 기술 블로그(hrjeong.tistory.com)를 운영하고 있으며, 저서로 "불친절한 SQL 프로그래밍"을 집필했다.

정희락 의 다른 상품

품목정보

발행일
2018년 09월 10일
쪽수, 무게, 크기
1072쪽 | 2037g | 188*245*45mm
ISBN13
9791196395711

출판사 리뷰

SQL은 정보 시스템을 구축하고 운영하는 데 있어 가장 기본이 되는 필수 소양 기술이다. 빅데이터 시대를 맞아 요즘은 현업 부서에서도 SQL을 활용해 직접 데이터를 분석할 정도로 SQL의 중요성은 점차 증대하고 있다. 그에 비해 데이터베이스 사용자들의 SQL 활용 능력은 예나 지금이나 초보 수준을 벗어나지 못하고 있어 늘 안타까웠는데, 이렇게 고급 SQL 프로그래밍을 다룬 책을 추천할 수 있게 돼 여간 기쁘지 않다. 저자는 국내 최고 수준의 데이터베이스 기술력을 갖춘 실무형 컨설턴트이기에 더 기대가 크다.

자신의 영역에서 고급 SQL을 활용해 업무 능력을 끌어올리고 싶은 모든 이에게 이 책을 자신 있게 추천한다. 활용성 있는 예시를 많이 제시하므로 읽는 내내 고개를 끄떡이며 무릎을 치게 될 것이다. 저자는 소스 코드가 너무 많아 독자가 불친절하다고 느끼지 않을까 걱정했지만, 늘 일정에 쫓기는 개발자는 백 마디 설명보다 실용적인 한 줄 예시 코드에 더 감동하기 마련이다. 이 책을 늘 가까이 두고 사전처럼 수시로 참조한다면, 어느 순간 고급 SQL 프로그래머로 성장해 있는 자신을 발견하게 될 것이다.

- 국가공인 SQLP/SQLD 자격검정 응시자
- SQL 프로그래밍에 입문하고자 하는 개발자 및 DBA
- 고급 데이터베이스 프로그래머
- 데이터베이스 설계자

책에 대해 궁금한 사항은 저자가 활동하고 있는 아래 인터넷 카페로 문의하기 바란다.

디비안 포럼 http://www.dbian.net


리뷰/한줄평14

리뷰

9.2 리뷰 총점

한줄평

9.4 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
41,800
1 41,800