책소개
데이터를 활용하기 위한 최선의 방법!
그동안 수없이 많은 프로그래밍 관련 기술들이 나왔지만, 데이터를 검색하고 다루는 기술은 SQL(Structure Query Language)이 한결같이 자리를 지키고 있습니다. 이 책은 총 5개 파트와 200개의 예제로 구성되어 있습니다. 차근차근 예제를 통해 SQL 기초를 다지고, 직접 프로그램을 실행해봄으로써 SQL을 활용한 머신러닝 데이터 분석으로 Kaggle 상위권에 진입할 수 있도록 구성되어 있습니다. 머신러닝 기능이 탑재되어 있는 오라클 19c 버전을 설치하고, 예제를 하나하나 직접 입력하면서 책에 나온 결과값과 비교해보며 학습하면 어느덧 데이터분석이 어렵지 않게 될 것입니다.
윈도우 OS의 명령 프롬프트를 통해 SQL*PLUS 프롬프트 창으로 오라클 데이터베이스에 접속해서 학습을 해도 되고, SQL DEVELOPER를 통해 학습해도 됩니다. 책에 수록된 예제 코드와 데이터 파일은 정보문화사 홈페이지(infopub.co.kr)의 자료실에서 다운로드 받을 수 있습니다. 또한 학습 중 궁금한 사항은 저자 홈페이지(cafe.daum.net/oracleoracle)에서 피드백 가능하기 때문에 독학으로 충분히 습득할 수 있습니다.
저자소개
저자 : 유연수
저자 : 유연수
서울시립대를 졸업하고, OCM(Oracle Certified Master) 자격을 보유하고 있습니다. 한국 오라클 교육센터에서 여러 데이터베이스 과목을 강의했으며, 국내 주요 대기업에서 SQL과 SQL 튜닝 교육을 하였습니다. 현재는 머신러닝을 이용한 데이터분석을 강의하고 있습니다.
목차
PART 1 〈입문〉 SQL 첫발 내딛기
001 테이블에서 특정 열(COLUMN) 선택하기
002 테이블에서 모든 열(COLUMN) 출력하기
003 컬럼 별칭을 사용하여 출력되는 컬럼명 변경하기
004 연결 연산자 사용하기(||)
005 중복된 데이터를 제거해서 출력하기(DISTINCT)
006 데이터를 정렬해서 출력하기(ORDER BY)
007 WHERE절 배우기 ①(숫자 데이터 검색)
008 WHERE절 배우기 ②(문자와 날짜 검색)
009 산술 연산자 배우기(*, /, +, -)
010 비교 연산자 배우기 ①(〉, 〈, 〉=, 〈=, =, !=, 〈〉, ^=)
011 비교 연산자 배우기 ②(BETWEEN AND)
012 비교 연산자 배우기 ③(LIKE)
013 비교 연산자 배우기 ④(IS NULL)
014 비교 연산자 배우기 ⑤(IN)
015 논리 연산자 배우기(AND, OR, NOT)
PART 2 〈초급〉 SQL 기초 다지기
016 대소문자 변환 함수 배우기(UPPER, LOWER, INITCAP)
017 문자에서 특정 철자 추출하기(SUBSTR)
018 문자열의 길이를 출력하기(LENGTH)
019 문자에서 특정 철자의 위치 출력하기(INSTR)
020 특정 철자를 다른 철자로 변경하기(REPLACE)
021 특정 철자를 N개 만큼 채우기(LPAD, RPAD)
022 특정 철자 잘라내기(TRIM, RTRIM, LTRIM)
023 반올림해서 출력하기(ROUND)
024 숫자를 버리고 출력하기(TRUNC)
025 나눈 나머지 값 출력하기(MOD)
026 날짜 간 개월 수 출력하기(MONTHS_BETWEN)
027 개월 수 더한 날짜 출력하기(ADD_MONTHS)
028 특정 날짜 뒤에 오는 요일 날짜 출력하기(NEXT_DAY)
029 특정 날짜가 있는 달의 마지막 날짜 출력하기(LAST_DAY)
030 문자형으로 데이터 유형 변환하기(TO_CHAR)
031 날짜형으로 데이터 유형 변환하기(TO_DATE)
032 암시적 형 변환 이해하기
033 NULL 값 대신 다른 데이터 출력하기(NVL, NVL2)
034 IF문을 SQL로 구현하기 ①(DECODE)
035 IF문을 SQL로 구현하기 ②(CASE)
036 최대값 출력하기(MAX)
037 최소값 출력하기(MIN)
038 평균값 출력하기(AVG)
039 토탈값 출력하기(SUM)
040 건수 출력하기(COUNT)
041 데이터 분석 함수로 순위 출력하기 ①(RANK)
042 데이터 분석 함수로 순위 출력하기 ②(DENSE_RANK)
043 데이터 분석 함수로 등급 출력하기(NTILE)
044 데이터 분석 함수로 순위의 비율 출력하기(CUME_DIST)
045 데이터 분석 함수로 데이터를 가로로 출력하기(LISTAGG)
046 데이터 분석 함수로 바로 전 행과 다음 행 출력하기(LAG, LEAD)
047 COLUMN을 ROW로 출력하기 ①(SUM+DECODE)
048 COLUMN을 ROW로 출력하기 ②(PIVOT)
049 ROW를 COLUMN으로 출력하기(UNPIVOT)
050 데이터 분석 함수로 누적 데이터 출력하기(SUM OVER)
051 데이터 분석 함수로 비율 출력하기(RATIO_TO_REPORT)
052 데이터 분석 함수로 집계 결과 출력하기 ①(ROLLUP)
053 데이터 분석 함수로 집계 결과 출력하기 ②(CUBE)
054 데이터 분석 함수로 집계 결과 출력하기 ③(GROUPING SETS)
055 데이터 분석 함수로 출력 결과 넘버링 하기(ROW_NUMBER)
PART 3 〈중급〉 SQL 실력 다지기
056 출력되는 행 제한하기 ①(ROWNUM)
057 출력되는 행 제한하기 ②(Simple TOP-n Queries)
058 여러 테이블의 데이터를 조인해서 출력하기 ①(EQUI JOIN)
059 여러 테이블의 데이터를 조인해서 출력하기 ②(NON EQUI JOIN)
060 여러 테이블의 데이터를 조인해서 출력하기 ③(OUTER JOIN)
061 여러 테이블의 데이터를 조인해서 출력하기 ④(SELF JOIN)
062 여러 테이블의 데이터를 조인해서 출력하기 ⑤(ON절)
063 여러 테이블의 데이터를 조인해서 출력하기 ⑤(USING절)
064 여러 테이블의 데이터를 조인해서 출력하기 ⑥(NATURAL JOIN)
065 여러 테이블의 데이터를 조인해서 출력하기 ⑦(LEFT/RIGHT OUTER JOIN)
066 여러 테이블의 데이터를 조인해서 출력하기 ⑧(FULL OUTER JOIN)
067 집합 연산자로 데이터를 위아래로 연결하기 ①(UNION ALL)
068 집합 연산자로 데이터를 위아래로 연결하기 ②(UNION)
069 집합 연산자로 데이터의 교집합을 출력하기(INTERSECT)
070 집합 연산자로 데이터의 차이를 출력하기(MINUS)
071 서브 쿼리 사용하기 ①(단일행 서브쿼리)
072 서브 쿼리 사용하기 ②(다중 행 서브쿼리)
073 서브 쿼리 사용하기 ③(NOT IN)
074 서브 쿼리 사용하기 ④(EXISTS와 NOT EXISTS)
075 서브 쿼리 사용하기 ⑤(HAVING절의 서브 쿼리)
076 서브 쿼리 사용하기 ⑥(FROM절의 서브 쿼리)
077 서브 쿼리 사용하기 ⑦(SELECT절의 서브 쿼리)
078 데이터 입력하기(INSERT)
079 데이터 수정하기(UPDATE)
080 데이터 삭제하기(DELETE, TRUNCATE, DROP)
081 데이터 저장 및 취소하기(COMMIT, ROLLBACK)
082 데이터 입력, 수정, 삭제 한번에 하기(MERGE)
083 락(LOCK) 이해하기
084 SELECT FOR UPDATE절 이해하기
085 서브 쿼리를 사용하여 데이터 입력하기
086 서브