Do it! MySQL로 배우는 SQL 입문

$28.35
SKU
9791163035725
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Mon 05/20 - Fri 05/24 (주문일로부 10-14 영업일)

Express Shipping estimated by Wed 05/15 - Fri 05/17 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2024/04/05
Pages/Weight/Size 188*257*30mm
ISBN 9791163035725
Categories IT 모바일 > OS/데이터베이스
Description
SQL을 아예 몰라도 실습 예제 300개로
기초 문법부터 실무에 필요한 SQL 함수와 조인, 스토어드 프로시저, 뷰까지
이 한 권으로 데이터베이스의 기본기를 완성해 보자!


SQL 기초를 제대로 알아야 데이터베이스에 자유롭게 접근하고 이를 추출 · 가공할 수 있다. 이 책은 SQL과 DBMS를 주제로 다양한 교육 활동을 펼쳐 온 20년 차 데이터베이스 전문가 강성욱 저자가 SQL 기초 문법부터 실무 활용까지 데이터베이스를 자유자재로 활용해 실제 주식 데이터를 분석하는 내용까지 담았다. SQL과 데이터베이스를 이제 막 배우려는 예비 개발자는 물론, 업무상 데이터 활용이 많은 기획자, 마케터 등을 대상으로 해 조금이라도 어렵게 느껴지는 SQL 관련 용어나 개념 설명 등을 최대한 쉽게 풀어 썼다. 이 책으로 데이터 추출과 가공 방법에 친숙해지고 나아가 업무 능력을 향상해 보자!
Contents
01장 데이터베이스란?
__01-1 데이터베이스란 무엇일까?
____데이터베이스란?
____데이터베이스 관리 시스템이란?
__01-2 데이터베이스의 종류 알아보기
____계층형 데이터베이스
____네트워크형 데이터베이스
____키-값 데이터베이스
____관계형 테이터베이스
__01-3 SQL이란 무엇일까?
____DBMS에 따른 SQL의 종류
____SQL 문법의 종류
__01-4 SQL을 배워야 하는 이유
____데이터의 홍수 속에서 꼭 필요한 SQL
____SQL을 얼마나 사용하고 있을까?

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

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

04장 SQL 기본 문법 익히기
__04-1 SELECT 문으로 데이터 조회하기
____SELECT 문으로 열 조회하기
____MySQL 워크벤치에서 테이블의 열 정보 확인하기
__04-2 WHERE 문으로 조건에 맞는 데이터 조회하기
____WHERE 문으로 특정 값 조회하기
____WHERE 문에서 비교 연산자 사용해 보기
____WHERE 문에서 논리 연산자 사용해 보기
__04-3 ORDER BY 문으로 데이터 정렬하기
____ORDER BY 문으로 열 기준 정렬하기
____오름차순 또는 내림차순으로 정렬하기
____LIMIT으로 상위 데이터 조회하기
__04-4 와일드카드로 문자열 조회하기
____LIKE와 %로 특정 문자열을 포함하는 데이터 조회하기
____ESCAPE로 특수 문자를 포함한 데이터 조회하기
____LIKE와 _로 길이가 정해진 데이터 조회하기
____ _과 %로 문자열 조회하기
____REGEXP로 더 다양하게 데이터 조회하기
____와일드카드 더 활용해 보기
__04-5 GROUP BY 문으로 데이터 묶기
____GROUP BY 문으로 데이터 그룹화하기
____HAVING 문으로 그룹화한 데이터 필터링하기
____DISTINCT 문으로 중복된 데이터 제거하기
__04-6 테이블 생성 및 조작하기
____AUTO_INCREMENT로 데이터 자동 입력하기
____조회 결과를 테이블에 입력하기
__04-7 MySQL의 데이터 유형 정리하기
____숫자형 알아보기
____문자형 알아보기
____날짜형 및 시간형 알아보기
__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-2 SQL 프로그래밍
____IF 문
____CASE 문
____WHILE 문
____동적 SQL
__07-3 인덱스
____인덱스를 사용할 때 주의할 점
____인덱스의 종류
____인덱스 생성 및 삭제하기
__07-4 뷰
____뷰를 사용하는 이유
____뷰 생성 및 조회하기
____뷰 수정하기
____뷰 정보 확인하기
____뷰 삭제하기
____뷰를 사용해 데이터 조작하기
__07-5 스토어드 함수와 커서
____스토어드 함수 이해하기
____커서 알아 두기
__07-6 트리거
____트리거의 종류
____트리거 실행 시기
____트리거 생성하기
__07장 되새김 문제

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

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

Do it! 되새김 문제_정답 및 풀이
찾아보기
Author
강성욱
한국과 미국을 오가면서 굵직한 테크 기업에서 데이터 엔지니어 및 매니저로 활동하며 다양한 경험을 쌓아 가고 있다. 넥슨 아메리카, NHN GLOBAL을 거쳐 AWS 코리아에서 데이터 아키텍트로 근무하다가 지금은 나우콤에서 시니어 DBOps 엔지니어로 활약하고 있다. 마이크로소프트 MVP로 10년 연속 데이터 플랫폼 부분에서 수상하기도 했으며 한국과 미국의 IT 관련 개발자, 마케터, 디자이너들을 대상으로 DBMS, SQL 등을 주제로 한 다양한 교육 활동을 하고 있다. 시니어 엔지니어로 20년 이상 활동한 경험과 강의 노하우를 이 책에 담아 비전공자들도 SQL 문법을 쉽게 익히고 실무 감각까지 얻을 수 있도록 집필했다.
현 나우콤 Sr.DBOps, 한국정보산업연합회 SW 마에스트로 멘토. 전 AWS Sr.Solutions Architect, NHN Global SRE Team manager.
한국과 미국을 오가면서 굵직한 테크 기업에서 데이터 엔지니어 및 매니저로 활동하며 다양한 경험을 쌓아 가고 있다. 넥슨 아메리카, NHN GLOBAL을 거쳐 AWS 코리아에서 데이터 아키텍트로 근무하다가 지금은 나우콤에서 시니어 DBOps 엔지니어로 활약하고 있다. 마이크로소프트 MVP로 10년 연속 데이터 플랫폼 부분에서 수상하기도 했으며 한국과 미국의 IT 관련 개발자, 마케터, 디자이너들을 대상으로 DBMS, SQL 등을 주제로 한 다양한 교육 활동을 하고 있다. 시니어 엔지니어로 20년 이상 활동한 경험과 강의 노하우를 이 책에 담아 비전공자들도 SQL 문법을 쉽게 익히고 실무 감각까지 얻을 수 있도록 집필했다.
현 나우콤 Sr.DBOps, 한국정보산업연합회 SW 마에스트로 멘토. 전 AWS Sr.Solutions Architect, NHN Global SRE Team manager.