출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

- 정가
- $52.00
- 판매가
-
$42.12
(19%↓)
- 적립금
- $0.84 (2%P)
품절된 상품입니다.
이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.
평점 - · 리뷰 0
ISBN : 9791185890043 / 364쪽 188 x 245 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
엥지유니버스
-
김영욱
-
성구(강성규)
-
정지훈
- 27,000
- 23,400
- 21,600
- 25,200
출판사 리뷰
출판사 서평 이제 막 데이터베이스에 입문한 당신을 위한 새로운 교과서! Oracle, PostgreSQL, SQL Server, MySQL, DB2에서의 SQL을 한 권으로 배운다! 이 책은 철저히 초보자의 관점에서 데이터베이스란 무엇인지?부터 시작해서 SQL 활용 방법까지 점진적으로 설명하고 있다. 이 책의 또 다른 장점은 이 책 한 권으로 모든 주요 데이터베이스에 적용 가능한 SQL을 익힐 수 있다는 것이다. 이 책은 표준 SQL을 중심으로 오픈 소스인 MySQL, PostgreSQL뿐만 아니라 상용 제품인 DB2, SQL Server... 이제 막 데이터베이스에 입문한 당신을 위한 새로운 교과서! Oracle, PostgreSQL, SQL Server, MySQL, DB2에서의 SQL을 한 권으로 배운다! 이 책은 철저히 초보자의 관점에서 데이터베이스란 무엇인지부터 시작해서 SQL 활용 방법까지 점진적으로 설명하고 있다. 이 책의 또 다른 장점은 이 책 한 권으로 모든 주요 데이터베이스에 적용 가능한 SQL을 익힐 수 있다는 것이다. 이 책은 표준 SQL을 중심으로 오픈 소스인 MySQL, PostgreSQL뿐만 아니라 상용 제품인 DB2, SQL Server, Oracle용 SQL 작성법까지 다루고 있다. 이 책은 초보자라도 무리 없이 프로그래밍 능력을 배양할 수 있도록 기획되었다. 자습서로는 물론 대학교, 전문대학, 직업학교의 교재 및 기업에서의 신입 연수 교재로도 사용할 수 있도록 작성되어 있다. 다양한 샘플 코드와 자세한 실행 순서를 기재하고 있어서 학습자 각자가 직접 구체적인 문제를 풀어나감으로써 프로그래밍 능력을 착실히 향상시킬 수 있을 것이다. 이 책의 대상 독자는 다음과 같다. 데이터베이스나 SQL 관련 지식이 전혀 없는 사람 혼자 힘으로 SQL을 익혔지만 체계적이고 제대로 된 S QL을 공부하고 싶은 사람 데이터베이스를 사용해야 하지만 어디부터 손을 대야 할지 막막한 사람 대학, 전문대학, 기업 등에서 QSL을 가르쳐야 하는 사람 정보처리 시험을 준비하면서 SQL을 공부해야 하는 사람 부록 CD: Windows용 PostgreSQL 인스톨러, 연습문제 해답, 본문 샘플 예제 수록
이 책은 프로그래밍이나 시스템 개발 경험이 전혀 없는 초보자를 대상으로 하고 있다. 관계형 데이터베이스 및 이를 사용하기 위한 ‘SQL’이라는 언어에 관해 설명하는 책이다. 각 장은 구체적인 샘플 코드를 중심으로 설명하며, 장 마지막 부분은 이해도를 높이기 위한 연습문제로 구성되어 있다. 1장부터 순서대로 샘플 코드를 직접 실행하면서 읽어가다 보면, 자연스럽게 SQL 기초는 물론 숨은 비법까지 마스터할 수 있도록 구성되어 있다. 또한, 특별히 중요한 부분은 ‘철칙’이란 요소로 별도 정리해 두었기 때문에 이 책의 내용을 전체적으로 이해한 후에 나중에 참고 자료용으로도 사용할 수 있다.
_viii쪽
SQL은 몇 개의 키워드와 테이블명, 열명 등을 조합한 하나의 구문으로(SQL 문) 처리 내용을 기술한다. 키워드는 처음부터 그 의미나 사용법이 정해져 있는 특별한 영어 단어로, ‘테이블을 검색한다’, ‘테이블을 참조한다’ 등의 의미를 가지며, 그 종류가 매우 많다. 또한, SQL 문은 RDBMS에 부여한 명령 종류에 따라 다음의 세 가지로 분류된다.
_15쪽
이 예에서도 알 수 있듯이, NOT 연산자를 사용하지 않고도 같은 검색 조건을 기술할 수 있다. 오히려 NOT을 쓰지 않는 것이 이해하기 쉽게 기술할 수 있다. NOT 연산자를 사용하면 ‘1000원 이상’이라는 조건을 부정하기 때문에 ‘1000원 미만’이라고 머릿속에서 의미를 변환해야 한다. 그렇다고 NOT 연산자가 전혀 필요 없다고 할 수도 없다. 복잡한 연산을 필요로 하는 SQL의 경우는 NOT이 유용할 때도 있다. 하지만 무리해서 사용할 필요는 없다. 여기서는 NOT 연산자 사용법과 동작 방식만 알아 두도록 하자.
_64쪽
WHERE 구와 HAVING 구 양쪽 모두에 쓸 수 있는 조건을 일부러 WHERE 구에 써야 하는 다른 한 가지 이유는 성능, 즉 실행 속도 때문이다. 성능은 이 책의 주제 밖의 문제이기 때문에 자세히 다루진 않지만, 둘 다 같은 결과를 얻을 수 있음에도 불구하고 일반적으론 HAVING 구보다 WHERE 구에 조건을 기술하는 것이 처리 속도가 빠르며, 결과를 반환하는 시간도 짧다.
_105쪽
트랜잭션이 끝난 시점에 모든 갱신 처리가 실행된 상태 또는 모두 실행되지 않은 상태로 종료되는 것을 보증하는 성질이다. All or Nothing이라고도 한다. 예를 들어, 앞의 예를 사용하면 와이셔츠 값은 내렸는데 티셔츠 값은 올리지 않은 상태로 끝나는 트랜잭션은 절대로 없다. 이 경우의 트랜잭션 종료 상태는 둘 다 실행되거나(COMMIT) 둘 다 실행되지 않는(ROLLBACK) 양자택일이어야 한다.
_148쪽
앞에서 배운 술어들은 대부분 ‘열 LIKE 문자열’ 또는 ‘열 BETWEEN 값1 AND 값2’와 같이 두 개 이상의 인수를 지정했었다. 하지만 EXISTS의 왼쪽에는 아무것도 없다. 형태가 약간 미묘하지만 EXISTS가 인수를 하나만 취하기 때문이다. EXISTS는 오른쪽에 하나의 인수만 지정한다. 그리고 그 인수는 항상 서브쿼리다. 앞의 예에서는 다음과 같은 서브쿼리가 유일한 인수다.
_227쪽
목차
1장 데이터베이스와 SQL 1
1-1 데이터베이스란 무엇인가? 3
우리들 주변에 있는 데이터베이스 3
왜 DBMS가 필요한 걸까? 5
왜 다양한 종류의 DBMS가 존재하는 걸까? 6
1-2 데이터베이스 구성 9
RDBMS의 일반적인 시스템 구성 9
테이블 구조 11
1-3 SQL 개요 14
표준 SQL 14
SQL 문과 그 종류 15
SQL의 기본적인 작성 규칙 16
1-4 테이블 작성 20
작성할 테이블 내용 20
데이터베이스 작성(CREATE DATABASE 문) 21
테이블 작성(CREATE TABLE 문) 21
명명 규칙 23
데이터형 지정 24
제약 설정 26
1-5 테이블 삭제와 변경 28
테이블 삭제(DROP TABLE 문) 28
테이블 정의 변경(ALTER TABLE 문) 29
Goods 테이블에 데이터 등록 31
연습문제 34
2장 검색의 기본 35
2-1 SELECT 문의 기본 37
열을 출력한다 37
모든 열을 출력한다 39
열에 별명을 부여하자 41
상수 출력 42
결과에서 중복 행을 제거 43
WHERE 구를 사용한 행 선택 45
주석 작성법 48
2-2 산술 연산자와 비교 연산자 50
산술 연산자 50
NULL에는 주의가 필요하다 52
비교 연산자 53
문자열에 부등호를 사용할 때 주의사항 56
NULL에 비교 연산자를 사용할 수 없다 59
2-3 논리 연산자 62
NOT 연산자 62
AND 연산자와 OR 연산자 64
괄호를 사용하면 강해진다 67
논리 연산자와 진릿값 69
NULL을 포함하는 진릿값 71
연습문제 73
3장 집약과 정렬 75
3-1 테이블을 집약해서 검색한다 77
집약 함수 77
테이블 행 수를 계산한다 78
NULL을 제외하고 행 수를 계산한다 79
합계를 구한다 81
평균값을 구한다 83
최솟값, 최댓값을 구한다 84
집약 함수 사용 시 중복값 제외(DISTINCT 키워드) 86
3-2 테이블을 그룹으로 나눈다 88
GROUP BY 구 88
집약 키에 NULL이 포함된 경우 90
WHERE 구를 사용한 경우 GROUP BY 동작 92
집약 함수와 GROUP BY 구를 사용할 때 자주하는 실수 93
3-3 집약한 결과에 조건을 지정한다 99
HAVING 구 99
HAVING 구에 쓸 수 있는 요소 102
HAVING 구보다 WHERE 구에 쓰는 것이 좋은 조건 103
3-4 검색 결과를 재정렬한다 106
ORDER BY 구 106
오름차순과 내림차순 지정 108
복수의 소트 키를 지정한다 109
NULL 순서 110
소트 키에 표시용 별명을 사용한다 111
ORDER BY 구에 사용할 수 있는 열 112
열 번호를 사용해선 안 된다 114
연습문제 116
4장 데이터 갱신 117
4-1 데이터 등록(INSERT 문 사용법) 119
INSERT란? 119
INSERT 문 기본 구문 120
열 리스트 생략 123
NULL을 삽입한다 124
기본값을 삽입한다 124
다른 테이블에서 데이터를 복사한다 127
4-2 데이터 삭제(DELETE 문 사용법) 130
DROP TABLE 문과 DELETE 문 130
DELETE 문 기본 구문 131
삭제 대상을 제한하는 DELETE 문 132
4-3 데이터 갱신(UPDATE 문 사용법) 135
UPDATE 문 기본 구문 135
조건을 지정한 UPDATE 문(탐색형 UPDATE) 137
NULL로 갱신하려면 138
복수 열 갱신 139
4-4 트랜잭션 141
트랜잭션이란 무엇인가? 141
트랜잭션을 만들려면 142
ACID 특성 148
연습문제 151
5장 복잡한 질의 153
5-1 뷰 155
뷰와 테이블 155
뷰 작성 방법 157
뷰 제약사항 ① ―― 뷰 정의에 ORDER BY 구는 사용할 수 없다 161
뷰 제약사항 ② ―― 뷰 갱신 162
뷰 삭제 166
5-2 서브쿼리 168
서브쿼리와 뷰 168
서브쿼리 이름 171
스칼라 서브쿼리 172
스칼라 서브쿼리를 쓸 수 있는 곳 175
스칼라 서브쿼리 사용 시 주의점 176
5-3 상관 서브쿼리 178
일반 서브쿼리와 상관 서브쿼리의 차이점 178
상관 서브쿼리도 결국 집합을 나누고 있다 181
결합 조건은 반드시 서브쿼리 안에 기술 183
연습문제 185
6장 함수, 술어, CASE 식 187
6-1 다양한 함수 189
함수 종류 189
산술 함수 190
문자열 함수 195
날짜 함수 203
변환 함수 208
6-2 술어 212
술어란? 212
LIKE 술어 ―― 문자열 부분 일치 검색 213
BETWEEN 술어 ―― 범위 검색 217
IS NULL, IS NOT NULL ―― NULL 또는 비NULL 판정 218
IN 술어 ―― OR의 간략 버전 219
IN 술어의 인수로 서브쿼리를 지정한다 220
EXISTS 술어 226
6-3 CASE 식 231
CASE 식이란? 231
CASE 식 구문 231
CASE 식 사용법 233
연습문제 239
7장 집합 연산 241
7-1 테이블 덧셈과 뺄셈 243
집합 연산이란? 243
테이블 덧셈 ―― UNION 243
집합 연산의 주의사항 246
중복 행을 포함하는 집합 연산 ―― ALL 옵션 247
테이블 간 공통 부분 선택 ―― INTERSECT 248
레코드 뺄셈 ―― EXCEPT 249
7-2 결합(테이블을 열 지향으로 연결한다) 253
결합이란? 253
내부 결합 ―― INNER JOIN 254
외부 결합 ―― OUTER JOIN 260
세 개 이상의 테이블을 사용한 결합 263
크로스 결합 ―― CROSS JOIN 266
결합 개별 구문과 옛날 구문 270
연습문제 275
8장 SQL 고급 처리 277
8-1 윈도우 함수 279
윈도우 함수란? 279
윈도우 함수 구문 280
구문의 기본적인 사용법 ―― RANK 함수 이용 281
PARTITION BY를 지정하지도 않아도 된다 283
윈도우 전용 함수 종류 284
윈도우 함수는 어디에 사용할 수 있나? 286
집약 함수를 윈도우 함수로 사용 287
이동 평균을 산출한다 288
두 가지 ORDER BY 292
8-2 GROUPING 연산자 294
합계 행도 함께 구하고 싶다 294
ROLLUP ―― 합계와 소계를 한 번에 구한다 296
GROUPING 함수 ―― 가짜 NULL을 알아내라 300
CUBE 데이터로 블록을 만든다 303
GROUPING SETS ―― 원하는 블록만 취득한다 305
연습문제 307
부록 A PostgreSQL 설치 309
부록 B PostgreSQL에서 SQL을 실행하는 방법 318
부록 C 연습문제 해답 325
찾아보기 335







































