지은이 : 서경숙
지음AI."데이터는 새로운 가치를 만드는 출발점입니다."RDB가 금융권에 처음 도입되던 때부터 금융 프로젝트를 수행하며 기술의 발전과 함께해왔습니다. 새로운 기술을 개발하고, 협업을 통해 만들어가는 과정에서 보람을 느낍니다. IT 분야는 끊임없이 변화하며 새로운 기술이 등장하지만, 그 안에서 가능성을 발견하는 일은 언제나 흥미롭습니다.현재는 인공지능과 NoSQL로 영역을 확장하며, 인공지능 프로젝트에 집중하고 있습니다.
지은이 : 장석은
지음지식서비스.데이터에 대한 깊은 열정을 바탕으로, 날것의 데이터를 가치 있는 인사이트로 전환하는 데 전문성을 쌓아가고 있습니다. 데이터 아키텍처, 데이터 통합, 데이터 분석에 대한 전문성을 바탕으로 30여 개의 다양한 금융/공공기관 프로젝트에서 데이터 최적화와 이를 활용하여 혁신을 이루어가는 과정을 함께 해왔습니다. 최근에는 빅데이터와 인공지능 시대에 맞춰 다양하게 활용되는 데이터베이스에 대해 지식을 확대해 가고 있습니다.
지은이 : 김현중
LG CNS.SI 기업의 시스템 엔지니어로서, 국내외 증권사 및 보험사 시스템 구축 프로젝트에서 분석 설계자/개발자 및 프로젝트 리더로 활동하며 오랜 기간 SQL과 함께하고 있습니다. 고객의 Real voice를 통해 많은 실무자들이 직접 데이터를 다뤄보고 싶어 한다는 사실을 알게 되었고,누구나 부담 없이 데이터 분석을 시작할 수 있도록 돕고자 이 책 집필에 참여하게 되었습니다.최근에는 AI를 활용한 SQL 생성에 많은 관심을 가지고 데이터 활용의 새로운 가능성을 찾고 있으며, 초보자도 쉽고 빠르게 데이터를 분석하고 활용할 수 있도록 돕는데 힘쓰고 있습니다.
지은이 : 엄태명
현대백화점.데이터에 대한 깊은 열정을 바탕으로, 데이터베이스 총괄 책임자로서 전사적 데이터 환경을 혁신해 나가고 있습니다. 그룹 내 다양한 차세대 프로젝트를 수행하며 오픈소스 데이터베이스, 클라우드 인프라, 인공지능 기반 솔루션 등의 혁신적 기술의 도입을 적극 검토하여 데이터 운영 환경을 지속적으로 최적화하는 데 주력하고 있습니다. 또한, 국민대학교 겸임교수로서 학생들에게 실무 경험과 전문 지식을 전달하고 있습니다. 교육 현장에서의 지식 공유와 함께, 데이터 품질 관리 체계와 인공지능 기술의 융합 가능성을 탐구하며 자기 계발을 지속함으로써 빠르게 진화하는 데이터 생태계에 대한 통찰력을 높여가고 있습니다.
지은이의 말
들어가며
이 책의 대상 독자
이 책의 구성
처음부터 끝까지, SQL 학습 흐름을 한눈에!
개발환경
실습 데이터 준비
PART 01 데이터와 SQL 첫걸음
_1장 데이터베이스와 SQL
_1.1 데이터베이스
__1.1.1 데이터베이스란?
__1.1.2 DBMS(Database Management System)
__1.1.3 테이블과 컬럼
__1.1.4 데이터 모델링
_1.2 SQL
__1.2.1 SQL 이란?
__1.2.2 SQL 종류
_2장 실습환경 준비하기
_2.1 데이터베이스 설치
__2.1.1 MySQL 설치 파일 다운로드
__2.1.2 MySQL 설치
_2.2 SQL 실습환경 준비
__2.2.1 데이터베이스 생성
__2.2.2 테이블 생성
__2.2.3 학습 데이터 만들기
Part 2 SELECT 문과 친해지기
_3장 SELECT 문과 첫 만남
__3.1 SELECT 실습 전 미리 알아보기
___3.1.1 데이터 들여다보기
___3.1.2 사용할 데이터베이스 지정하기
__3.2 SELECT 문 기본 형식 이해하기
__3.3 SELECT 문 시작하기
___3.3.1 전체 데이터 조회하기 - SELECT *
___3.3.2 조회 조건 추가하기 - WHERE 조건
___3.3.3 일부 컬럼만 조회하기
___3.3.4 컬럼명에 별칭 주기 - Alias
___3.3.5 중복 데이터 제거하기 - DISTINCT
___3.3.6 From 절 없는 SELECT 문 사용하기
__실습하기
__실습 문제풀이
__3.4 SELECT 조회 순서 및 개수 바꿔보기
___3.4.1 조회 데이터 정렬하기 - ORDER BY
___3.4.2 조회 데이터 개수 정하기 - LIMIT/OFFSET
__실습하기
__실습문제 풀이
_4장 기본 연산자 만나보기
__4.1 산술 연산자
__4.2 비교 연산자
__4.3 논리 연산자
__4.4 NULL 연산자
__4.5 기타 연산자
__실습하기
__실습문제 풀이
_5장 기본 함수 만나보기
__5.1 문자열 함수 사용하기
___5.1.1 결합 함수 - CONCAT
___5.1.2 추출 함수 - LEFT, RIGHT, SUBSTRING
___5.1.3 변경 함수 - UPPER, LOWER, REPLACE
___5.1.4 길이/위치 함수 - LENGTH, LOCATE
___5.1.5 공백처리 함수 - TRIM, LTRIM, RTRIM
__5.2 숫자 함수 사용하기
___5.2.1 절대값 함수 - ABS
___5.2.2 반올림 함수 - ROUND
___5.2.3 올림 함수 - CEIL
___5.2.4 내림 함수 - FLOOR
___5.2.5 버림(절사)함수 - TRUNCATE
___5.2.6 제곱근 함수 - SQRT
___5.2.7 거듭제곱 함수 - POW
___5.2.8 난수 함수 - RAND
___5.2.9 최대값 함수 - GREATEST
___5.2.10 최소값 함수 - LEAST
__5.3 날짜/시간 함수
___5.3.1 현재 날짜/시간 함수 - NOW / CURDATE / CURTIME
___5.3.2 날짜/시간 추출 함수 ? DATE, TIME, YEAR, MONTH, DAY
___5.3.3 날짜/시간 포맷변경 함수 - DATE_FORMAT
___5.3.4 요일정보 함수 - WEEKDAY, DAYOFWEEK, DAYNAME
___5.3.5 날짜 더하기/빼기 함수 - DATE_ADD, DATE_SUB
___5.3.6 날짜/시간 차이 계산 함수 ? DATEDIFF, TIMEDIFF, PERIOD_DIFF, TIMESTAMPDIFF
__5.4 변환 함수
___5.4.1 데이터 타입변환 함수 - CAST
___5.4.2 데이터 타입변환 함수 - CONVERT
___5.4.3 NULL값 처리 함수 - COALESCE
___5.4.4 2개의 컬럼값 체크 함수 - NULLIF
___5.4.5 조건 제어 함수 - CASE
__실습하기
__실습문제 풀이
Part 3 SQL을 활용하자!
_6장 데이터 집계하기
__6.0 사전준비: 테이블 구조와 데이터 개요
___6.0.1 학습 전 생각해보기
__6.1 시작하기 전 개념 둘러보기
___6.1.1 그룹이란?
___6.1.2 그룹핑이란?
___6.1.3 집계하기
___6.1.4 그룹 함수 익히기
___6.1.5 주요 그룹 함수
__6.2 그룹핑하여 집계하기
___6.2.1 GROUP BY 절 기본 형식
___6.2.2 GROUP BY로 그룹핑하기
___6.2.3 그룹별로 집계하기
___6.2.4 GROUP BY 절 실행순서
__6.3 그룹핑한 결과에 조건 주기
___6.3.1 HAVING 절 기본 형식
___6.3.2 HAVING 절에서의 조건식
___6.3.3 WHERE 절과 HAVING 절의 차이점
___실습하기
___실습문제 풀이
_7장 SELECT를 풍성하게!
__7.0 생각해봅시다
__7.1 서브쿼리
___7.1.1 서브쿼리의 기본 형식
___7.1.2 WHERE 절에서의 서브쿼리
___7.1.3 FROM 절에서의 서브쿼리
__7.2 EXISTS 연산자
___7.2.1 EXISTS 기본 형식
___7.2.2 EXISTS 작성 예시
___실습하기
___실습문제 풀이
_8장 여러 테이블을 엮어서 조회하기
__8.1 조인(Join)이란?
___8.1.1 테이블과 테이블은 어떻게 연결할까?
___8.1.2 테이블 간의 관계 찾기
__8.2 조인(Join)의 종류와 활용
___8.2.1 내부 조인(Inner Join)
___8.2.2 외부 조인(Outer Join)
___실습하기
___실습문제 풀이
Part4 SQL을 단계별로 깨보자!
_9장 기본 단계: SQL의 기초 배우기
__[Q1] 고객 가입일과 지역 정보 추출하기
__[Q2] 특정 가격 범위의 제품 추출하기
__[Q3] 가장 비싼 제품 추출하기
__[Q4] 가장 많이 주문한 5건 추출하기
__[Q5] 특정 연령대와 성별로 고객 필터링하기
__[Q6] 특정 기간 동안의 신규 고객 추출하기
__[Q7] 주문 상태별로 주문 수 구하기
__[Q8] 고객의 성별에 따른 고객 수 구하기
_10장 확장 단계: 여러 테이블로 데이터 분석하기
__[Q1] 특정 지역의 고객 주문 내역 조회하기
__[Q2] 고객별 총 주문금액과 주문건수 구하기
__[Q3] 주문 취소가 많은 제품 찾기
__[Q4] 5월에 가장 인기 있는 제품과 주문건수 구하기
__[Q5] 특정 제품의 월별 판매 실적 구하기
__[Q6] 요일별 총 주문금액을 높은 순으로 정렬하여 보여주기
_11장 심화 단계: 복잡한 문제 해결하기
__[Q1] 제품별 2024년 1분기 판매 실적 구하기
__[Q2] 2024년 1월 한 달간 성별에 따른 주문건수, 주문금액 구하기
__[Q3] 2024년 지역별 월별 주문금액 구하기
__[Q4] 30대가 가장 많이 구매한 제품 상위 5건 조회하기
__[Q5] 서브쿼리를 이용한 주문금액 상위 5명의 고객 주문내역 조회하기
__[Q6] 특정 기간 동안 고객 재구매율 분석하기
_12장. 챗GPT를 활용하여 SQL을 만들어보자
__[퀴즈 #1] 지역별, 월별 판매액 분석하기
__[퀴즈 #2] ChatGPT로 테이블 데이터 만들어보기
__[퀴즈 #3] 주문금액이 높은 Top3 찾기
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)