Ch.9 데이터베이스 (필기 3과목)
SQL 기본 — SELECT·INSERT·UPDATE·DELETE
DDL·DML·DCL의 구분과 대표 명령어를 열거할 수 있다SELECT문의 기본 구조와 WHERE 조건절을 작성할 수 있다INSERT·UPDATE·DELETE의 구문을 정확히 구분할 수 있다
엑셀 필터 대신 한 줄 명령으로 원하는 데이터를 꺼내는 언어
1만 건 학생 데이터에서 '학과=컴공 AND 학년=3'인 학생만 추출하는 상황
데이터가 커질수록 수작업 필터는 한계, 정확한 SQL 문법이 필수입니다
SQL(Structured Query Language)은 필기 3과목에서 매회 5~7문제가 출제되는 최대 비중 영역입니다
article
핵심 내용
시험 빈출: "SELECT는 어떤 언어에 속하는가?" → DML. "CREATE TABLE은?" → DDL. "GRANT는?" → DCL.
-- SELECT 기본 구조 (실행 순서 아님, 작성 순서)
SELECT 열이름1, 열이름2 -- 조회할 열
FROM 테이블명 -- 대상 테이블
WHERE 조건 -- 행 필터
GROUP BY 그룹 기준 열 -- 그룹화
HAVING 그룹 조건 -- 그룹 필터
ORDER BY 열이름 [ASC|DESC] -- 정렬
-- 예: 컴공과 3학년 학생을 이름순 조회
SELECT 학번, 이름, 학년
FROM 학생
WHERE 학과 = '컴퓨터공학' AND 학년 = 3
ORDER BY 이름 ASC;LIKE 와일드카드: % = 0개 이상 문자, _ = 정확히 1문자. '김__' = 김 뒤 2글자. 시험 필수!
-- INSERT: 데이터 삽입
INSERT INTO 학생(학번, 이름, 학과)
VALUES ('2024001', '홍길동', '컴퓨터공학');
-- UPDATE: 데이터 수정
UPDATE 학생
SET 학과 = '전자공학'
WHERE 학번 = '2024001';
-- DELETE: 데이터 삭제
DELETE FROM 학생
WHERE 학번 = '2024001';DROP vs DELETE vs TRUNCATE: DROP = 테이블 자체 삭제(DDL), DELETE = 행 삭제(DML), TRUNCATE = 모든 행 삭제+구조 유지(DDL). 시험 단골!
SELECT문에서 조건을 지정하는 절은?
다음 중 DML(데이터 조작어)에 해당하지 않는 것은?
LIKE '김_'으로 검색되는 이름은? (_ = 정확히 1문자)
key
핵심 용어
DISTINCT
중복 제거: SELECT DISTINCT 학과 FROM 학생
BETWEEN
범위: WHERE 성적 BETWEEN 80 AND 100
IN
목록: WHERE 학과 IN ('컴공', '전자')
LIKE
패턴: WHERE 이름 LIKE '김%' (김으로 시작)
IS NULL
NULL 확인: WHERE 전화번호 IS NULL
compare_arrows
비교 정리
| 항목 | 분류 | 풀네임 | 명령어 | 역할 |
|---|---|---|---|---|
| DDL | Data Definition Language | CREATE, ALTER, DROP | 테이블 구조 정의 | |
| DML | Data Manipulation Language | SELECT, INSERT, UPDATE, DELETE | 데이터 조작 | |
| DCL | Data Control Language | GRANT, REVOKE | 권한 제어 |
image
시각 자료
다이어그램: cc-mg012
check_circle
핵심 정리
- 1SQL 분류: DDL(CREATE/ALTER/DROP), DML(SELECT/INSERT/UPDATE/DELETE), DCL(GRANT/REVOKE)
- 2SELECT 구조: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY
- 3LIKE 와일드카드: % = 0개 이상, _ = 정확히 1문자
- 4UPDATE/DELETE에 WHERE 없으면 전체 행 대상 — 매우 위험!
- 5DROP(테이블 삭제) vs DELETE(행 삭제) vs TRUNCATE(전체 행 삭제, 구조 유지)
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작