하루 10분 SQL

따라 하면서 배우고 쉽게 업무에 활용하는 실전 SQL

《하루 10분 SQL》은 데이터베이스를 처음 접하는 사용자와 초급 개발자를 대상으로 SQL을 쉽게 익힐 수 있도록 구성한 입문서이다. 먼저 실습에 필요한 이론을 배운 후 데이터베이스 시스템 개발 및 유지보수 업무에 많이 사용하는 명령과 함수를 실행하고 결과를 확인하도록 구성했다. 이론은 1시간 내외로 마칠 수 있으며, 이론을 제외한 많은 지면이 SQL을 실습하는 데 쓰였다. 기본적인 명령과 함수의 실습은 10분을 넘기지 않는다.

이 책은 필자가 회사 내 전산 관련 신입 직원들을 대상으로 SQL을 교육하기 위해 만든 교재에서 시작됐고, 빠른 시간 안에 SQL을 경험하게 하는 데 중점을 뒀다. 당시에는 실제 업무와 같은 구조의 데이터베이스로 실습했다면, 이 책에서는 강의의 편의를 위해 범용적인 몇 개의 테이블 그룹을 만들어 실습을 진행한다.

이 책의 목적은 개인이 독학으로 SQL을 경험할 수 있게 하는 것이지만 다수의 인원이 함께 SQL을 배울 때 필요한 강의용 PPT 파일도 네이버 카페(https://cafe.naver.com/risdev)에서 제공한다. 강사 또는 그룹 리더는 이곳에서 제공하는 파일로 강의할 수 있다. 강의 목적으로 파일의 내용을 변경하는 것이 가능하므로 강의 노하우나 유용한 내용을 함께 공유할 수 있다.

★ 이 책에서 다루는 내용 ★

  • 데이터베이스와 SQL에 관련된 기본 개념을 배운다.
  • 오라클 SQL을 실습하기 위한 환경을 만든다.
  • 테이블을 조회하고, 입력하고, 수정하고, 삭제하는 기본적인 구문을 실습한다.
  • 날짜 함수, 수치 함수, 문자열 함수, 그룹을 사용한 함수 등 내장 함수를 실습한다.
  • 테이블을 생성해 속성 및 제약조건을 바꿔보고 테이블을 삭제하는 명령을 실습한다.
  • 사용자 함수, 프로시저, 트리거, 뷰, 번호 자동생성 명령을 실습한다.

 

도서 상세 이미지

한상일

1994년 춘천에서 전산과를 졸업하고, 지금까지 20년 이상 개발 프로젝트에 참여했다. 기업용 패키지 개발 프로젝트와 공공사업의 개발자로 참여했으며, 현재는 코레일에서 열차운행계획 시스템의 개발과 운영을 맡고 있다. 저서로 《VISUAL FOXPRO 완벽 가이드》(영진닷컴, 1998)이 있다.

  • [1부] 이론과 실습 환경 만들기
    • ▣ 01장: 데이터베이스의 기본 개념
      • 1.1 SQL
      • 1.2 데이터
      • 1.3 필드
      • 1.4 레코드
      • 1.5 테이블
      • 1.6 데이터베이스와 데이터베이스 관리 시스템
      • 1.7 SQL 명령의 종류
      • 1.8 PL/SQL
      • 1.9 응용 프로그램
      • 1.10 정보
      • 1.11 인덱스
      • 1.12 기본키
      • 1.13 참조키(외래키)
      • 1.14 함수
      • 1.15 프로시저
      • 1.16 ERD
      •  
    • ▣ 02장: 실습 환경의 이해
      • 2.1 오라클 데이터베이스
      • 2.2 오라클 XE
      • 2.3 실습을 위한 설치 프로그램
      • 2.4 윈도우 시스템 종류(32/64비트)를 확인하는 방법
      •  
    • ▣ 03장: 설치 파일 다운로드
      • 3.1 폴더 만들기
      • 3.2 오라클 XE 다운로드
      • 3.3 JDK 다운로드
      • 3.4 SQL Developer 다운로드
      • 3.5 실습용 스크립트 파일 다운로드
      • 3.6 폴더 구조와 설명
      •  
    • ▣ 4장: 오라클 XE 설치와 환경설정
      •  
    • ▣ 5장: JDK 설치
      •  
    • ▣ 6장: SQL Developer 설치와 환경설정
      •  
    • ▣ 7장: 실습용 데이터
      •  
  • [2부] SQL 명령어와 함수
    • ▣ 8장: 기본 명령어
      • 8.1 SELECT _ 필드 검색하기
      • 8.2 WHERE _ 조건에 맞게 검색하기
      • 8.3 AND _ 모두 만족하면 검색하기
      • 8.4 OR _ 하나라도 만족하면 검색하기
      • 8.5 BETWEEN .. AND _ 범위에 만족하면 검색하기
      • 8.6 비교 연산자 _ 같다, 같지 않다, 크다, 작다 조건 검색하기
      • 8.7 LIKE _ 포함된 문자로 검색하기
      • 8.8 IN _ 여러 데이터로 검색하기
      • 8.9 ORDER BY _ 정렬 필드 지정하기
      • 8.10 GROUP BY _ 집계값 취득을 위한 그룹화
      • 8.11 DISTINCT _ 출력 필드의 중복 없애기
      • 8.12 JOIN _ 테이블의 연관 정보 검색하기
      • 8.13 CASE _ 조건에 따른 처리와 값 설정하기
      • 8.14 ROWNUM _ 행 번호 구하기
      • 8.15 NULL _ 값이 없는 상태
      • 8.16 DUAL _ 연산 값 출력용 1행 테이블
      • 8.17 UPDATE _ 필드 값 바꾸기
      • 8.18 INSERT _ 데이터 입력하기
      • 8.19 MERGE _ 데이터를 입력하거나 바꾸기
      • 8.20 DELETE _ 데이터 삭제하기
      • 8.21 COMMIT _ 바뀐 내용 반영하기
      • 8.22 ROLLBACK _ 바뀐 내용 취소하기
      • 8.23 트랜잭션의 이해 _ 작업을 한 번에 처리하기
      • 8.24 서브쿼리(SUB QUERY)의 이해 _ SELECT 구문 내에서 SELECT 작업하기
      • 8.25 EXISTS _ 서브쿼리 조건과 같으면 검색하기
      • 8.26 검색 조건을 입력해서 SQL을 실행 _ 검색 조건을 입력
      • 8.27 주석 처리 _ SQL 구문 내 문장을 실행하지 않기
      •  
    • ▣ 9장: 집합 명령어
      • 9.1 UNION _ 중복 없는 합집합 만들기
      • 9.2 UNION ALL _ 중복된 합집합 만들기
      • 9.3 INTERSECT _ 교집합 만들기
      • 9.4 MINUS _ 차집합 만들기
      •  
    • ▣ 10장: 날짜 관련 함수
      • 10.1 SYSDATE _ 현재 일시 구하기
      • 10.2 SYSDATE - TO_CHAR( ) _ 날짜를 문자로 바꾸기
      • 10.3 SYSDATE - TO_DATE( ) _ 문자열을 날짜로 바꾸기
      • 10.4 NEXT_DAY( ) _ 지정일 이후의 날짜 구하기
      • 10.5 LAST_DAY( ) _ 특정 월의 마지막 날짜 구하기
      • 10.6 ADD_MONTHS( ) _ 지정일에 개월을 더하기
      • 10.7 MONTHS_BETWEEN( ) _ 날짜 차이를 개월로 구하기
      •  
    • ▣ 11장: 수치 관련 함수
      • 11.1 ABS( ) _ 절댓값 구하기
      • 11.2 MOD( ) _ 나머지 값 구하기
      • 11.3 SQRT( ) _ 제곱근 구하기
      • 11.4 CEIL( ) _ 올림값 구하기
      • 11.5 FLOOR( ) _ 내림값 구하기
      • 11.6 ROUND( ) _ 반올림값 구하기
      • 11.7 TRUNC( ) _ 버림값 구하기
      • 11.8 POWER( ) _ 승수값 구하기
      •  
    • ▣ 12장: 문자열 관련 함수
      • 12.1 UPPER( ) _ 영문을 대문자로 바꾸기
      • 12.2 LOWER( ) _ 영문을 소문자로 바꾸기
      • 12.3 SUBSTR( ), SUBSTRB( ) _ 문자열의 일부 구하기
      • 12.4 LENGTH( ), LENGTHB( ) _ 문자열 길이 구하기
      • 12.5 RPAD( ) _ 오른쪽에 문자열 채우기
      • 12.6 LPAD( ) _ 왼쪽에 문자열 채우기
      • 12.7 RTRIM( ) _ 오른쪽 공백 없애기
      • 12.8 LTRIM( ) _ 왼쪽 공백 없애기
      • 12.9 TRIM( ) _ 양쪽 공백 없애기
      • 12.10 INITCAP( ) _ 영문 첫 글자를 대문자로 바꾸기
      • 12.11 CONCAT( ) _ 문자열로 연결하기
      • 12.12 INSTR( ), INSTRB( ) _ 문자열 내 위치 구하기
      • 12.13 REPLACE( ) _ 문자열 바꾸기
      •  
    • ▣ 13장: 비교함수
      • 13.1 DECODE( ) _ 비교 결과에 따른 값 구하기
      • 13.2 NVL( ) _ NULL 값이면 특정 값 구하기
      • 13.3 LEAST( ) _ 여러 값 중에서 최솟값 구하기
      • 13.4 GREATEST( ) _ 여러 값 중에서 최솟값 구하기
      • 13.5 WIDTH_BUCKET( ) _ 특정 값의 구간 위치 구하기
      •  
    • ▣ 14장: 형 변환 함수
      • 14.1 TO_CHAR( ) _ 문자형으로 바꾸기
      • 14.2 TO_DATE( ) _ 날짜형으로 바꾸기
      • 14.3 TO_NUMBER( ) _ 수치형으로 바꾸기
      • 14.4 CHR( ) _ 수치를 아스키 문자로 바꾸기
      • 14.5 ASCII( ) _ 문자를 아스키 코드값으로 바꾸기
      •  
    • ▣ 15장: 그룹 함수
      • 15.1 MAX( ) _ 그룹의 최댓값 구하기
      • 15.2 MIN( ) _ 그룹의 최솟값 구하기
      • 15.3 SUM( ) _ 그룹의 합계 구하기
      • 15.4 AVG( ) _ 그룹의 평균 구하기
      • 15.5 COUNT( ) _ 그룹에 속한 레코드 개수 구하기
      • 15.6 ROLLUP( ) _ 그룹의 소계와 총합 구하기
      • 15.7 ROW_NUMBER( ) _ 중복 없는 순번 구하기
      • 15.8 RANK( ) _ 중복 순번 후 이동한 순번 구하기
      • 15.9 DENSE_RANK( ) _ 중복 순번 후 순차 순번 구하기
      • 15.10 RANK( ) WITHIN _ RANK() 순번 후 위치 구하기
      • 15.11 FIRST_VALUE( ) _ 그룹의 첫 번째 값 구하기
      •  
    • ▣ 16장: 행 정보 관련 함수
      • 16.1 LEAD( ) _ 다음 레코드 값 구하기
      • 16.2 LAG( ) _ 이전 레코드 값 구하기
      • 16.3 XMLAGG, XMLELEMENT _ 여러 행을 한 행 만들기
      •  
    • ▣ 17장: 테이블 관련 명령어
      • 17.1 CREATE TABLE _ 테이블 만들기
      • 17.2 DESC와 DESCRIBE _ 테이블 구조 보기
      • 17.3 RENAME _ 테이블명 바꾸기
      • 17.4 ALTER TABLE _ 테이블 속성 바꾸기
      • 17.5 INDEX _ 인덱스를 만들고 수정, 삭제하기
      • 17.6 PRIMARY KEY _ 기본키를 만들고 삭제하기
      • 17.7 TRUNCATE TABLE _ 데이터 전체 삭제하기
      • 17.8 DROP TABLE _ 테이블 삭제하기
      •  
    • ▣ 18장: 사용자 기능
      • 18.1 함수 _ 결괏값을 반환하는 기능
      • 18.2 프로시저 _ 데이터베이스 업무 기능
      • 18.3 트리거 _ 내용이 바뀌면 자동 처리하기
      • 18.4 뷰 _ 자동 반영되는 가상 테이블
      • 18.5 시퀀스 _ 번호 자동 만들기
      •  
  • [3부] SQL 응용
    • ▣ 19장: 업무에 사용 가능한 응용 SQL
      • 19.1 오류 형식 검출과 수정
      • 19.2 날짜, 시간, 수치의 형식화
      • 19.3 그룹의 처음/마지막 데이터 구하기
      • 19.4 행을 열의 데이터로 만들기
      • 19.5 이전 행과 다음 행의 데이터 구하기
      • 19.6 합계와 평균 계산 프로시저 작업
      • 19.7 연관 정보를 바꾸는 트리거
      •  
    • ▣ 20장: 업무 리포트 SQL
      • 20.1 고객 등록 현황
      • 20.2 고객 포인트 내역
      • 20.3 성적 통계
      • 20.4 열차 운행 현황
      •  
    • ▣ 21장: 실무 SQL 소개
      • 21.1 역별 첫차/막차 운행현황
      • 21.2 열차별 통계 정보
      •  
    • ▣ 책을 끝내며
      •  
    • ▣ 부록 A: 아스키 코드표
      •  
    • ▣ 부록 B: 사용자 기능 목록