목차
저자 서문 ... 3
이 책의 특징 ... 5
학습 로드맵 ... 6
Part 1 오라클 SQL 소개
   1장 오라클 소개 ... 21
      01 DBMS란? ... 23
        DBMS의 개요 ... 23
        DBMS의 종류 ... 25
      02 오라클은 왜 오라클인가? ... 29
        오라클의 의미 ... 29
        오라클의 간략한 역사 ... 30
      03 Oracle 10g의 등장 ... 32
        그리드의 의미 ... 32
        Oracle 10g의 그리드적 특징 ... 33
      이것만은 알고 갑시다 ... 36
   2장 Oracle 10g 설치 ... 37
      01 설치 전 준비사항 ... 39
        에디션별 특징 ... 39
        하드웨어 및 소프트웨어 요구사항 ... 41
      02 윈도우에서 Oracle 10g 설치하기 ... 43
      03 기본 설정 및 연결 ... 52
        오라클 연결 ... 52
        오라클 사용을 위한 추가 작업 ... 57
      04 Oracle SQL Developer 1.2 설치하기 ... 65
      이것만은 알고 갑시다 ... 70
   3장 SQL 소개 ... 71
      01 SQL이란 무엇인가? ... 73
        구조화된 언어 SQL ... 73
        SQL의 특징 ... 74
      02 SQL의 발자취 ... 75
        SQL의 탄생 ... 75
        SQL 표준 ... 75
      03 SQL 해부 ... 77
        데이터 조작하기(DML) ... 77
        객체 조작하기(DDL) ... 84
      04 SQL 문장의 구성요소들 ... 86
        예약어 ... 87
        연산자 ... 88
        의사컬럼 ... 89
        함수 ... 91
        표현식 ... 91
        조건 ... 92
      05 샘플 스키마 설치 ... 93
        오라클 샘플 스키마 소개 ... 94
        샘플 스키마 신규 설치 ... 96
        샘플 스키마 다이어그램 ... 98
      Exercise 3-1 이것만은 알고 갑시다 ... 103
Part 2 SQL 들어가기
   4장 오라클 식구들(데이터베이스 객체) ... 107
      01 데이터 저장창고, 테이블 ... 109
        테이블 만들기 ... 111
        기본 데이터 타입 ... 113
        컬럼 속성(무결성 제약조건) ... 128
        테이블의 복사 ... 140
        테이블의 제거 ... 141
        Exercise 4-1 ... 142
      02 데이터를 빨리 찾으려면... (인덱스) ... 145
        인덱스의 생성과 삭제 ... 145
        인덱스의 종류 ... 148
        인덱스 생성시 고려해야 할 사항들 ... 150
        Exercise 4-2 ... 151
      03 창고 안 들여다 보기, 뷰 ... 151
        뷰의 생성 ... 152
        뷰는 어떻게 사용되는가? ... 155
        기타 뷰 ... 162
        Exercise 4-3 ... 163
      04 클러스터 ... 163
      05 객체에 호(號)를 만들어 보자(시노님) ... 164
        Exercise 4-4 ... 169
      06 순번을 부여해 보자(시퀀스) ... 170
        시퀀스의 생성 ... 170
        시퀀스에 사용되는 의사컬럼 ... 172
        시퀀스의 삭제 ... 174
        Exercise 4-5 ... 175
      이것만은 알고 갑시다 ... 176
   5장 관계를 맺자! 조인 ... 179
      01 개요 ... 181
      02 WHERE 절 ... 182
        연산자 ... 184
        AND와 OR, 그리고 NOT ... 185
        범위 조건 ... 189
        IN과 EXISTS ... 195
        LIKE ... 201
        NULL 처리 ... 205
        Exercise 5-1 ... 211
      03 조인이란? ... 212
      04 내부조인 ... 217
        두 개 이상의 테이블 조인 ... 217
        일반조건과 조인조건을 포함한 조인 ... 219
        Cartesian Product ... 221
        셀프조인 ... 224
        기타 조인들 ... 227
        Exercise 5-2 ... 230
      05 외부조인 ... 231
        Exercise 5-3 ... 246
      06 ANSI 조인 ... 246
        ANSI 내부조인 ... 247
        크로스 조인 ... 249
        ANSI 외부조인 ... 249
        Exercise 5-4 ... 255
      이것만은 알고 갑시다 ... 256
   6장 오라클 기본 함수 ... 257
      01 함수란? ... 259
      02 숫자형 함수 ... 261
        Exercise 6-1 ... 270
      03 문자형 함수 ... 271
        Exercise 6-2 ... 285
      04 숫자형 데이터를 반환하는 문자형 함수 ... 286
      05 날짜형 함수 ... 289
        현재 날짜를 반환하는 함수 ... 289
        일반적인 날짜형 함수 ... 293
        기타 날짜형 함수 ... 301
        Exercise 6-3 ... 302
      06 Null 관련 함수 ... 303
        Exercise 6-4 ... 308
      07 변환 함수 ... 310
        문자형 데이터로 형변환하는 함수(TO_CHAR) ... 310
        숫자형 데이터로 형변환하는 함수들 ... 314
        날짜형 데이터로 형변환하는 함수들 ... 315
      08 DECODE와 CASE ... 316
        DECODE ... 317
        CASE ... 323
        Exercise 6-5 ... 329
      이것만은 알고 갑시다 ... 330
   7장 데이터를 묶어보자(그룹 쿼리) ... 331
      01 개요 ... 333
      02 DISTINCT와 ALL ... 334
      03 집계 함수 ... 336
        COUNT ... 337
        SUM ... 340
        MAX와 MIN ... 342
        AVG ... 344
        STDDEV와 VARIANCE ... 346
        Exercise 7-1 ... 346
      04 GROUP BY 절 ... 347
        GROUP BY 절과 집계 함수들 ... 347
        GROUP BY 절과 WHERE 절 ... 353
        Exercise 7-2 ... 355
      05 HAVING 절 ... 355
      06 ROLLUP과 CUBE ... 359
        Exercise 7-3 ... 365
      이것만은 알고 갑시다 ... 366
   8장 서브쿼리 ... 367
      01 서브쿼리란? ... 369
      02 연관성 없는 서브쿼리 ... 372
        단일 로우, 단일 컬럼을 반환하는 서브쿼리 ... 373
        다중 로우, 단일 컬럼을 반환하는 서브쿼리 ... 376
        다중 컬럼을 반환하는 서브쿼리 ... 385
        Exercise 8-1 ... 389
      03 연관성 있는 서브쿼리 ... 390
        Exercise 8-2 ... 395
      04 인라인 뷰 ... 395
        Exercise 8-3 ... 404
      이것만은 알고 갑시다 ... 405
   9장 쿼리들 모두 집합!(SET 연산자) ... 407
      01 SET 연산자 ... 409
        UNION ... 410
        UNION ALL ... 419
        INTERSECT ... 421
        MINUS ... 423
        Exercise 9-1 ... 427
      02 SET 연산자와 NULL ... 428
        Exercise 9-2 ... 430
      03 SET 연산자의 규칙과 제한사항들 ... 431
        Exercise 9-3 ... 434
      이것만은 알고 갑시다 ... 435
   10장 계층형 쿼리 ... 437
      01 계층적인 정보의 표현 ... 439
      02 계층형 쿼리 ... 442
        계층형 데이터의 구조 ... 442
        계층형 쿼리의 작성 ... 444
        계층형 쿼리와 조인 ... 451
        Exercise 10-1 ... 457
      03 계층형 쿼리의 확장 ... 458
        루트노드 찾기(CONNECT_BY_ROOT) ... 458
        중복 참조값 찾기(CONNECT_BY_ISCYCLE) ... 461
        리프노드 찾기(CONNECT_BY_ISLEAF) ... 464
        루트 찾아가기(SYS_CONNECT_BY_PATH) ... 465
      04 계층형 쿼리의 응용 ... 467
        답변형 게시판 ... 467
        달력 만들기 ... 471
      이것만은 알고 갑시다 ... 477
Part 3 PL/SQL
   11장 PL/SQL ... 481
      01 PL/SQL이란? ... 483
        개요 ... 483
        PL/SQL이란? ... 484
      02 PL/SQL의 구성요소 ... 494
        변수와 상수 ... 494
        콜렉션 ... 496
        레코드 ... 500
      03 PL/SQL 문장과 커서 ... 503
        IF 문 ... 503
        CASE 문 ... 504
        LOOP 문 ... 505
        WHILE-LOOP 문 ... 507
        FOR ... LOOP ... 509
        GOTO 문 ... 512
        NULL 문 ... 513
        커서 ... 514
      04 PL/SQL 서브프로그램 ... 517
        함수 ... 517
        프로시저 ... 521
        패키지 ... 528
        Exercise 11-1 ... 540
      이것만은 알고 갑시다 ... 543
   12장 시스템 객체 ... 545
      01 데이터 딕셔너리 ... 547
        데이터 딕셔너리란? ... 547
        데이터 딕셔너리의 종류 ... 549
      02 시스템 뷰 ... 550
        ALL 뷰 ... 551
        DBA 뷰 ... 557
        USER 뷰 ... 559
        Exercise 12-1 ... 563
      03 시스템 패키지 ... 563
        DBMS 패키지 개요 ... 564
        DBMS_OUTPUT 패키지 ... 564
        DBMS_JOB 패키지 ... 568
        UTL_FILE 패키지 ... 573
        UTL_TCP 패키지 ... 576
        Exercise 12-2 ... 580
      이것만은 알고 갑시다 ... 581
   13장 향상된 객체들 ... 583
      01 개요 ... 585
      02 LOB ... 585
        LOB 타입의 종류 ... 588
        LOB 로케이터와 값 ... 589
        LOB 데이터 조작하기 ... 590
        Exercise 13-1 ... 606
      03 Materialized View ... 607
        Materialized View란? ... 608
        Materialized View 만들기 ... 609
        Exercise 13-2 ... 614
      04 오라클 OBJECT 타입 ... 615
        개요 ... 615
        OBJECT 타입 생성 ... 616
        Exercise 13-3 ... 623
      이것만은 알고 갑시다 ... 625
Part 4 고급 SQL
   14장 오라클 고급 함수(분석 함수) ... 629
      01 분석 함수란? ... 631
        분석 함수의 정의 ... 631
        분석 함수의 사용 ... 633
      02 순위 함수 ... 637
        RANK(), DENSE_RANK(), ROW_NUMBER() 함수 ... 637
        FIRST와 LAST ... 642
        NTILE () ... 646
        WIDTH_BUCKET() ... 648
        CUME_DIST와 PERCENT_RANK ... 652
        Exercise 14-1 ... 654
      03 윈도우 함수 ... 655
        윈도우 함수란? ... 655
        FIRST_VALUE와 LAST_VALUE ... 658
      04 기타 분석 함수들 ... 659
        LAG와 LEAD 함수 ... 659
        RATIO_TO_REPORT ... 663
        Exercise 14-2 ... 666
      이것만은 알고 갑시다 ... 667
   15장 고급 SQL 문장들 ... 669
      01 향상된 그룹 함수 ... 671
        ROLLUP과 CUBE 복습 ... 671
        추가된 그룹핑 함수들 ... 673
        Exercise 15-1 ... 681
      02 서브쿼리를 내 마음대로(WITH 구문) ... 682
        개요 ... 682
        WITH 구문의 사용 ... 683
        Exercise 15-2 ... 688
      03 스프레드시트 흉내내기(MODEL 절) ... 688
        개요 ... 688
        MODEL 절의 구문과 사용 ... 690
        MODEL 함수 ... 697
        Exercise 15-3 ... 706
      04 동적 쿼리 ... 707
        동적 쿼리란? ... 707
        EXECUTE IMMEDIATE을 사용한 동적 쿼리 ... 708
        DBMS_SQL 패키지를 사용한 동적 쿼리 ... 712
      05 입력과 수정을 동시에!(MERGE 문) ... 716
        Exercise 15-4 ... 721
      이것만은 알고 갑시다 ... 722
   16장 XML 다루기 ... 723
      01 XML이란? ... 725
        개요 ... 725
        오라클과 XML ... 726
      02 오라클에서 XML 다루기 ... 727
        XML 데이터 저장하기 ... 727
        XML 데이터의 조회 ... 734
        XML 데이터의 갱신 ... 739
        Exercise 16-1 ... 744
      03 XML 데이터 만들기 ... 745
        SQL/XWL 함수를 사용하는 방법 ... 745
        SQL 함수를 사용하는 방법 ... 752
        Exercise 16-2 ... 757
      04 XML에서의 데이터 검색(XQUERY) ... 758
        FLWOR 표현식 ... 758
        XQUERY 함수 ... 759
        확장 함수들 ... 762
      이것만은 알고 갑시다 ... 768
   17장 SQL 튜닝 ... 769
      01 옵티마이저란? ... 771
        옵티마이저의 종류 ... 772
        옵티마이저의 구성요소 ... 774
        옵티마이저를 위해 우리가 해야 할 일 ... 778
      02 접근 경로와 조인 방법 ... 782
        접근 경로 ... 782
        조인 방법 ... 785
      03 옵티마이저를 추적해 보자!(실행계획) ... 788
        실행계획을 보는 방법 ... 789
        실행계획의 분석 ... 791
      04 옵티마이저야, 이 길로 가려무나!(힌트 절의 사용) ... 797
        개요 ... 797
        힌트 절의 종류 ... 798
      05 일반적인 SQL 튜닝 기법 ... 801
      이것만은 알고 갑시다 ... 806
   18장 남은 것들 ... 807
      01 데이터베이스 모델링 ... 809
        모델링이란? ... 809
        데이터베이스 모델링 과정 ... 810
      02 Oracle 11g 소개 ... 812
        SQL 관련 사항 ... 813
        PL/SQL 관련 사항 ... 814
        기타 ... 816
        참조 사이트 ... 817
      이것만은 알고 갑시다 ... 818
찾아보기 ... 819
닫기