Do it! MySQL로 배우는 SQL 입문
저자

강성욱

저자:강성욱

한국과미국을오가면서굵직한테크기업에서데이터엔지니어및매니저로활동하며다양한경험을쌓아가고있다.넥슨아메리카,NHNGLOBAL을거쳐AWS코리아에서데이터아키텍트로근무하다가지금은나우콤에서시니어DBOps엔지니어로활약하고있다.마이크로소프트MVP로10년연속데이터플랫폼부분에서수상하기도했으며한국과미국의IT관련개발자,마케터,디자이너들을대상으로DBMS,SQL등을주제로한다양한교육활동을하고있다.시니어엔지니어로20년이상활동한경험과강의노하우를이책에담아비전공자들도SQL문법을쉽게익히고실무감각까지얻을수있도록집필했다.

현)나우콤Sr.DBOps,한국정보산업연합회SW마에스트로멘토

전)AWSSr.SolutionsArchitect,NHNGlobalSRETeammanager

저서및커뮤니티활동

《Doit!SQL입문》(이지스퍼블리싱,2022)

《우린이렇게왔다》(클라우드북스,2018)

《SQLTAGBOOK2》(SQLTAG,2014)

《SQLServer운영과튜닝》(영진닷컴,2012)

K-DEVCON(글로벌한인IT전문가모임)설립



목차


01장데이터베이스란?
__01-1데이터베이스란무엇일까?
____데이터베이스란?
____데이터베이스관리시스템이란?
__01-2데이터베이스의종류알아보기
____계층형데이터베이스
____네트워크형데이터베이스
____키-값데이터베이스
____관계형테이터베이스
__01-3SQL이란무엇일까?
____DBMS에따른SQL의종류
____SQL문법의종류
__01-4SQL을배워야하는이유
____데이터의홍수속에서꼭필요한SQL
____SQL을얼마나사용하고있을까?

02장나만의SQL실습환경만들기
__02-1내컴퓨터환경확인하기
____윈도우에서컴퓨터사양확인하기
____macOS에서컴퓨터사양확인하기
__02-2MySQL설치하기
____윈도우에MySQL커뮤니티에디션설치하기
____macOS에MySQL커뮤니티에이션설치하기
__02-3MySQL워크벤치설치하기
____윈도우에MySQL워크벤치설치하기
____macOS에MySQL워크벤치설치하기
__02-4MySQL워크벤치사용법알아보기
____새로운연결생성하기
____MySQL워크벤치화면구성살펴보기

03장SQL시작전준비운동하기
__03-1DDL과DML빠르게맛보기
____데이터베이스생성및삭제하기
____테이블생성및삭제하기
____데이터삽입,수정,삭제하기
__03-2데이터베이스모델링이해하기
____데이터베이스모델링의개념과필요성
____데이터모델링의유형
____데이터모델링단계
____sakila데이터베이스둘러보기
__03장되새김문제

04장SQL기본문법익히기
__04-1SELECT문으로데이터조회하기
____SELECT문으로열조회하기
____MySQL워크벤치에서테이블의열정보확인하기
__04-2WHERE문으로조건에맞는데이터조회하기
____WHERE문으로특정값조회하기
____WHERE문에서비교연산자사용해보기
____WHERE문에서논리연산자사용해보기
__04-3ORDERBY문으로데이터정렬하기
____ORDERBY문으로열기준정렬하기
____오름차순또는내림차순으로정렬하기
____LIMIT으로상위데이터조회하기
__04-4와일드카드로문자열조회하기
____LIKE와%로특정문자열을포함하는데이터조회하기
____ESCAPE로특수문자를포함한데이터조회하기
____LIKE와_로길이가정해진데이터조회하기
_____과%로문자열조회하기
____REGEXP로더다양하게데이터조회하기
____와일드카드더활용해보기
__04-5GROUPBY문으로데이터묶기
____GROUPBY문으로데이터그룹화하기
____HAVING문으로그룹화한데이터필터링하기
____DISTINCT문으로중복된데이터제거하기
__04-6테이블생성및조작하기
____AUTO_INCREMENT로데이터자동입력하기
____조회결과를테이블에입력하기
__04-7MySQL의데이터유형정리하기
____숫자형알아보기
____문자형알아보기
____날짜형및시간형알아보기
__04장되새김문제

05장조인으로두테이블묶기
__05-1조인의종류
____조인의의미
____내부조인
____외부조인
____교차조인
____셀프조인
__05-2쿼리안에또다른쿼리,서브쿼리
____WHERE문에서브쿼리사용하기
____FROM문에서브쿼리사용하기
____SELECT문에서브쿼리사용하기
__05-3공통테이블표현식이란?
____일반CTE
____재귀CTE
__05장되새김문제

06장다양한SQL함수사용하기
__06-1문자열함수
____문자열과문자열을연결하는함수─CONCAT
____데이터형변환함수─CAST,CONVERT
____NULL을대체하는함수─IFNULL,COALESCE
____소문자혹은대문자로변경하는함수─LOWER,UPPER
____공백을제거하는함수─LTRIM,RTRIM,TRIM
____문자열크기또는개수를반환하는함수─LENGTH,CHAR_LENGTH
____특정문자까지의문자열길이를반환하는함수─POSITION
____지정한길이만큼문자열을반환하는함수─LEFT,RIGHT
____지정한범위의문자열을반환하는함수─SUBSTRING
____특정문자를다른문자로대체하는함수─REPLACE
____문자를반복하는함수─REPEAT
____공백문자를생성하는함수─SPACE
____문자열을역순으로출력하는함수─REVERSE
____문자열을비교하는함수─STRCMP
__06-2날짜함수
____서버의현재날짜나시간을반환하는다양한함수
____날짜를더하거나빼는함수─DATE_ADD,DATE_SUB
____날짜간차이를구하는함수─DATEDIFF,TIMESTAMPDIFF
____지정한날짜의요일을반환하는함수─DAYNAME
____날짜에서연,월,주,일을값으로가져오는함수─YEAR,MONTH,WEEK,DAY
____날짜형식을변환하는함수─DATE_FORMAT,GET_FORMAT
__06-3집계함수
____조건에맞는데이터개수를세는함수─COUNT
____데이터의합을구하는함수─SUM
____데이터의평균을구하는함수─AVG
____최솟값또는최댓값을구하는함수─MIN,MAX
____부분합과총합을구하는함수─ROLLUP
____데이터의표준편차를구하는함수─STDDEV,STDDEV_SAMP
__06-4수학함수
____절댓값을구하는함수─ABS
____양수또는음수여부를판단하는함수─SIGN
____천장값과바닥값을구하는함수─CEILING,FLOOR
____반올림을반환하는함수─ROUND
____로그를구하는함수─LOG
____e의n제곱값을구하는함수─EXP
____거듭제곱값을구하는함수─POWER
____제곱근을구하는함수─SQRT
____난수를구하는함수─RAND
____삼각함수─COS,SIN,TAN,ATAN
__06-5순위함수
____유일한값으로순위를부여하는함수─ROW_NUMBER
____우선순위를고려하지않고순위를부여하는함수─RANK
____건너뛰지않고순위를부여하는함수─DENSE_RANK
____그룹순위를부여하는함수─NTILE
__06-6분석함수
____앞또는뒤행을참조하는함수─LAG,LEAD
____누적분포를계산하는함수─CUME_DIST
____상대순위를계산하는함수─PERCENT_RANK
____첫행또는마지막행의값을구하는함수─FIRST_VALUE,LAST_VALUE
__06장되새김문제

07장SQL제대로활용하기
__07-1스토어드프로시저
____스토어드프로시저를사용하는이유
____스토어드프로시저생성하기
____스토어드프로시저호출하기
____스토어드프로시저내용확인하기
____스토어드프로시저삭제하기
__07-2SQL프로그래밍
____IF문
____CASE문
____WHILE문
____동적SQL
__07-3인덱스
____인덱스를사용할때주의할점
____인덱스의종류
____인덱스생성및삭제하기
__07-4뷰
____뷰를사용하는이유
____뷰생성및조회하기
____뷰수정하기
____뷰정보확인하기
____뷰삭제하기
____뷰를사용해데이터조작하기
__07-5스토어드함수와커서
____스토어드함수이해하기
____커서알아두기
__07-6트리거
____트리거의종류
____트리거실행시기
____트리거생성하기
__07장되새김문제

08장파이썬과DB로주식분석시스템만들기
__08-1실습환경구성하기
____파이썬설치하기
____비주얼스튜디오코드설치하기
__08-2크롤러및저장시스템만들기
____주식분석시스템구성하기
____파이썬라이브러리설치하기
____데이터베이스스키마와기초데이터생성하기
____파이썬크롤러만들기
__08-3MySQL로주식분석하기
____52주동안의주가분석하기
____하루동안의종목변화분석하기
____전일대비종목의변화분석하기
____주가가연속상승한종목분석하기

부록
__A-1데이터베이스정규화란?
____제1정규화(1NF)
____제2정규화(2NF)
____제3정규화(3NF)
____BCNF정규화(Boyce-CoddNormalForm)
____제4정규화(4NF)
____제5정규화(5NF)
__A-2MySQL워크벤치모델링툴살펴보기
__A-3실습에필요한데이터베이스설치하기

Doit!되새김문제_정답및풀이
찾아보기

출판사 서평

이책의주요내용

데이터베이스와SQL의개념을배우고실습을위한환경을갖춰SQL기본문법을익힐수있다.
여러테이블을조회하기위한조인,서브쿼리등을익혀실무에유용한문법에익숙해진다.
현업에서자주사용하는SQL함수위주로연습해간단한쿼리문으로데이터를조회할수있는방법을배운다.
SQL을제대로활용하기위한스토어드프로시저,인덱스,뷰사용방법을배워업무효율을높인다.
배운내용을바탕으로파이썬과데이터베이스를활용해실제주식을분석하며실전SQL활용법을학습한다.

이런분께추천합니다!

SQL또는데이터베이스를처음접하는입문자
데이터활용업무가많은기획자,마케터,디자이너
자격증이있지만실무경험을쌓고싶은취준생
MySQL로SQL문법을제대로배울수있는교재를찾는교강사

경험많은데이터베이스전문가가제대로만든SQL입문서!
개념→실습→문제로이어지는3단계학습으로선수지식이없어도OK!

이책은저자가실제SQL기초를주제로진행한온오프라인강의에서반응이좋았던내용을바탕으로구성했습니다.개념→실습→연습문제로이어지는3단계학습으로SQL이나프로그래밍선수지식이없는사람도따라하는게벅차지않도록설계했습니다.이책에서는SQL개발환경구성부터상세히다뤘으며DML,DDL문과같은SQL기본문법과실용문법인조인,함수그리고스토어드프로시저,인덱스,뷰와같은고급문법까지차근차근배울수있습니다.마지막08장에서는실무를경험해볼수있도록파이썬데이터분석패키지와야후파이낸스DB를활용한실제나스닥주식데이터를분석하는방법까지실습합니다.

요즘기업에서원하는내용이담겨있는SQL실용서!
실전에바로써먹을수있는다양한쿼리와실무꿀팁을모았습니다

시중에나와있는SQL입문서들과달리이책은독자분들이실전에서바로써먹을수있도록다양한쿼리를경험하고업무활용도가높은내용을중심으로구성했습니다.300개가넘는예제와50개가넘는연습문제를이책에담았으며,실제현직시니어DBOps로활약중인저자가<알아두면좋아요>코너나본문팁을통해독자에게실무‘꿀팁’을전합니다.또한마치엑셀책처럼실무에서자주활용하는함수들을정리해필요할때마다찾아볼수있도록이책의7쪽에을제공합니다.

혼자공부하는분들을위해‘Doit!’이도와드립니다
학습계획표+강의영상+코드제공!

이책의8쪽에서는학습계획표를제공됩니다.혼자공부하는분이라면이계획표에목표한날짜를기록해보세요.하루1시간씩3주동안공부하면SQL초보에서탈출할수있습니다.독학하는분들을위해이지스퍼블리싱유튜브채널에서는유명온라인강의플랫폼과개발자밋업등에서강사로활약하는저자의SQL강의를무료로제공합니다.또한저자깃허브에서실습코드를제공하니이를자신이작성한쿼리와비교하면학습효과를높일수있습니다.
이지스퍼블리싱유튜브:youtube.com/@easyspub
강성욱저자깃허브:github.com/sqlmvp/doitmysql

‘Doit!스터디룸’에서공부단을신청하세요!
친구도만나고책선물도받을수있습니다

혼자계획을세우고공부하다보면금방지치기마련입니다.‘Doit!스터디룸’을통해공부단에도전해보세요.함께공부하는사람들도만나고,공부하는내용을공유해인증하면책선물도드립니다.또한어려운내용이있다면‘Doit!스터디룸’게시판에질문을남겨보세요.전문가와저자가명쾌하게해결해드립니다.
Doit!스터디룸:cafe.naver.com/doitstudyroom