정보처리기사 · 데이터베이스 구축 과목
정보처리기사 SQL 활용 개념 정리
중요도 ★★★★★ · 35% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
핵심 개념
DDL·DML·DCL
DDL 은 표를 정의하는 명령(CREATE, ALTER, DROP), DML 은 자료를 다루는 명령(SELECT, INSERT, UPDATE, DELETE), DCL 은 권한과 확정을 다루는 명령(GRANT, REVOKE, COMMIT, ROLLBACK)입니다.
외우는 요령'정의(D) – 조작(M) – 제어(C)'.
CASCADE 와 RESTRICT
DROP 할 때 CASCADE 는 그 개체를 참조하는 것까지 함께 지우고, RESTRICT 는 다른 곳에서 참조하고 있으면 지우지 않습니다.
외우는 요령'캐스케이드 = 줄줄이 폭포처럼 같이 삭제'.
집계 함수와 Null
COUNT(*) 는 Null 이 있는 행까지 모두 세고, COUNT(열 이름)은 그 열이 Null 인 행을 빼고 셉니다.
외우는 요령별표(*)는 '전부'.
DISTINCT
SELECT 결과에서 똑같은 행이 여러 번 나오면 하나만 남기는 키워드입니다.
외우는 요령distinct = 서로 다른 것만.
자주 나오는 포인트
- 명령어가 DDL·DML·DCL 가운데 어디에 속하는지 묻는 문제가 가장 많습니다.
- SQL 문을 주고 결과 행 수를 묻는 문제가 나옵니다.
- GROUP BY 뒤의 조건은 WHERE 가 아니라 HAVING 으로 씁니다.
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. SQL 명령어 가운데 DDL(데이터 정의어)에 해당하는 것은?
- ① SELECT
- ② INSERT
- ③ ALTER
- ④ GRANT
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ ALTER
핵심: DDL: CREATE, ALTER, DROP
DDL 은 테이블 같은 구조를 만들고(CREATE), 고치고(ALTER), 지우는(DROP) 명령입니다.
틀린 선지
- ① SELECT: 자료를 조회하는 DML 입니다.
- ② INSERT: 자료를 추가하는 DML 입니다.
- ④ GRANT: 권한을 주는 DCL 입니다.
문제 2. <학생> 테이블에서 '학과' 필드의 값을 중복 없이 한 번씩만 조회하는 SQL 문은?
- ① SELECT DISTINCT 학과 FROM 학생;
- ② SELECT ALL 학과 FROM 학생;
- ③ SELECT 학과 FROM 학생 GROUP 학과;
- ④ SELECT UNIQUE(학과) IN 학생;
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① SELECT DISTINCT 학과 FROM 학생;
핵심: DISTINCT: 중복된 값을 하나만 남긴다
DISTINCT 를 SELECT 바로 뒤에 쓰면 똑같은 값은 한 번만 나옵니다.
틀린 선지
- ② SELECT ALL 학과 FROM 학생;: ALL 은 중복을 그대로 모두 보여 줍니다.
- ③ SELECT 학과 FROM 학생 GROUP 학과;: GROUP BY 로 써야 하며, 문법이 틀렸습니다.
- ④ SELECT UNIQUE(학과) IN 학생;: 문법이 틀렸습니다.
문제 3. SQL 명령어 가운데 DML(데이터 조작어)에 해당하는 것은?
- ① DROP
- ② REVOKE
- ③ UPDATE
- ④ CREATE
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ UPDATE
핵심: DML: SELECT·INSERT·UPDATE·DELETE
- DDL(정의): CREATE, ALTER, DROP
- DML(조작): SELECT, INSERT, UPDATE, DELETE
- DCL(제어): GRANT, REVOKE, COMMIT, ROLLBACK
틀린 선지
- ① DROP: 테이블 등을 없애는 DDL(데이터 정의어)입니다.
- ② REVOKE: 권한을 거두어들이는 DCL(데이터 제어어)입니다.
- ④ CREATE: 테이블 등을 만드는 DDL(데이터 정의어)입니다.