12장. SQL
정보처리기사 필기 개념서 · 3과목. 데이터베이스 구축 · 절 7개
이 장에서 배우는 것
12-1. SQL 분류와 DDL
다루는 항목: DDL (정의어), DML (조작어), DCL (제어어), TCL (트랜잭션 제어)
12-2. SELECT 기본
예시 데이터 — 이 장의 모든 결과는 python3 sqlite3로 실행해 확인했다.
12-3. 집계함수·GROUP BY·HAVING
HAVING이 없으면 D1(2, 375.0), D2(2, 275.0)가 나오고, WHERE까지 없으면 NULL 그룹(1, 200.0)도 하나의 그룹이 된다
12-4. JOIN
외부 조인: LEFT(왼쪽 테이블 전부 유지), RIGHT(오른쪽 전부), FULL(양쪽 전부). Oracle 구문에서는 WHERE 절에 (+)를 붙인다
12-5. 서브쿼리와 집합 연산
다중 행 연산자: IN, ANY(SOME), ALL, EXISTS. > ALL(…)은 최댓값보다 큼, > ANY(…)는 최솟값보다 큼 (예: 급여 > ALL (SELECT 급여 FROM 사원 WHERE 부서코드 = 'D2') →…
12-6. INSERT·UPDATE·DELETE, 뷰, 인덱스
뷰: 기본 테이블에서 유도한 가상 테이블. 논리적 독립성 제공, 보안(필요한 열만 공개), 질의 단순화. ALTER로 정의를 변경할 수 없어 삭제(DROP VIEW) 후 다시 만든다. 기본 테이블이 삭제되면 뷰도 사용할 수 없다…
12-7. DCL과 TCL
[SQLite와 표준 SQL의 차이]이 장의 결과는 SQLite 3.45로 확인했으며, 다음 점은 시험(표준 SQL·Oracle 기준)과 다르다.