[시나공] SQL 심화 정리 (JOIN / 서브쿼리 / DML / 트리거)
2026. 3. 24. 22:58ㆍCertifications/정보처리기사 실기
1️⃣ JOIN
✅ 개념
- JOIN은 두 개 이상의 테이블을 연결하여 하나의 결과 집합을 생성하는 연산
- 관계형 데이터베이스에서 테이블 간 관계를 기반으로 데이터를 결합할 때 사용
🎯 포인트
- JOIN = 테이블 결합
- 공통 속성을 기준으로 데이터 연결
✅ 종류
| 구분 | 설명 |
|---|---|
| INNER JOIN | 두 테이블에서 조건이 일치하는 행만 반환 |
| OUTER JOIN | 조건이 일치하지 않는 행도 NULL을 포함하여 반환 |
2️⃣ INNER JOIN
✅ 개념
- 조인 조건을 만족하는 공통 데이터만 조회
- 가장 기본적인 JOIN 방식
🔹 예시
SELECT A.컬럼, B.컬럼
FROM 테이블A A
INNER JOIN 테이블B B
ON A.키 = B.키;
✅ INNER JOIN 종류
| 종류 | 설명 |
|---|---|
| THETA JOIN | 비교 연산자를 사용한 JOIN |
| EQUI JOIN | ' = ' 연산자를 사용한 JOIN |
| NATURAL JOIN | 동일한 이름의 속성을 자동으로 JOIN |
| NON-EQUI JOIN | ' = ' 이외 비교 연산을 사용하는 JOIN |
3️⃣ EQUI JOIN (동등 조인)
✅ 개념
- 두 테이블에서 동일한 값(=)을 가진 속성을 기준으로 연결하는 조인
✅ WHERE 절을 이용한 JOIN
SELECT A.컬럼, B.컬럼
FROM 테이블A A, 테이블B B
WHERE A.키 = B.키;
✅ NATURAL JOIN
- 두 테이블에서 동일한 이름의 속성을 자동으로 조인
SELECT *
FROM 테이블A
NATURAL JOIN 테이블B;
✅ USING 절 JOIN
- 동일한 이름의 속성을 지정하여 JOIN 수행
SELECT *
FROM 테이블A
JOIN 테이블B
USING(공통속성);
4️⃣ OUTER JOIN
✅ 개념
- 두 테이블을 JOIN할 때 조건이 일치하지 않는 행도 NULL을 포함하여 반환하는 JOIN
✅ LEFT OUTER JOIN
- 왼쪽 테이블 기준
- 오른쪽 테이블에 매칭되는 값이 없으면 NULL
SELECT *
FROM 테이블A
LEFT OUTER JOIN 테이블B
ON A.키 = B.키;
✅ RIGHT OUTER JOIN
- 오른쪽 테이블 기준
SELECT *
FROM 테이블A
RIGHT OUTER JOIN 테이블B
ON A.키 = B.키;
✅ FULL OUTER JOIN
- 양쪽 테이블의 모든 데이터 반환
SELECT *
FROM 테이블A
FULL OUTER JOIN 테이블B
ON A.키 = B.키;
5️⃣ 서브쿼리(Subquery)
✅ 개념
- SQL 문 내부에 포함된 또 다른 SELECT 문
🎯 포인트
- 서브쿼리 = SQL 내부 SQL
✅ 특징
- 괄호
( )로 묶어 사용 - 단독 실행 불가
- 메인 쿼리와 함께 실행
✅ 서브쿼리 유형
| 구분 | 설명 |
|---|---|
| 단일행 서브쿼리 | 하나의 값 반환 |
| 다중행 서브쿼리 | 여러 행 반환 |
| 다중열 서브쿼리 | 여러 열 반환 |
✅ 예시
SELECT 이름
FROM 학생
WHERE 학과코드 =
(SELECT 학과코드
FROM 학과
WHERE 학과명 = '컴퓨터');
6️⃣ DML (Data Manipulation Language)
✅ 개념
- 데이터베이스 데이터를 조작하는 SQL 명령어
🎯 포인트
- DML = 데이터 조작
✅ 주요 명령어
| 명령어 | 설명 |
|---|---|
| SELECT | 데이터 조회 |
| INSERT | 데이터 삽입 |
| UPDATE | 데이터 수정 |
| DELETE | 데이터 삭제 |
✅ INSERT
INSERT INTO 테이블명(컬럼1, 컬럼2)
VALUES(값1, 값2);
✅ UPDATE
UPDATE 테이블명
SET 컬럼 = 값
WHERE 조건;
✅ DELETE
DELETE FROM 테이블명
WHERE 조건;
7️⃣ 트리거 (Trigger)
✅ 개념
- 데이터베이스에서 특정 이벤트 발생 시 자동으로 실행되는 절차형 SQL
🎯 포인트
- INSERT / UPDATE / DELETE 발생 시 자동 실행
✅ 특징
- DB 내부에 저장
- 이벤트 발생 시 자동 실행
- 데이터 무결성 유지
- 자동 작업 수행
✅ 사용 목적
| 목적 | 설명 |
|---|---|
| 무결성 유지 | 데이터 변경 감지 |
| 자동 처리 | 이벤트 발생 시 실행 |
| 로그 기록 | 데이터 변경 기록 |
📊 시험 포인트 정리
🔥 1. JOIN 핵심
- JOIN = 테이블 결합
- INNER JOIN → 일치 데이터만
- OUTER JOIN → NULL 포함
🔥 2. INNER JOIN 세부 유형
- THETA JOIN → 비교 연산 사용
- EQUI JOIN →
=사용 - NATURAL JOIN → 동일 속성 자동 연결
🔥 3. OUTER JOIN
- LEFT OUTER JOIN → 왼쪽 기준
- RIGHT OUTER JOIN → 오른쪽 기준
🔥 4. 서브쿼리
- SQL 내부 SELECT
- 단일행 / 다중행 구분
🔥 5. DML
- SELECT / INSERT / UPDATE / DELETE
🔥 6. 트리거
- 이벤트 발생 시 자동 실행 SQL
📌 암기 핵심 요약
- JOIN = 테이블 결합 연산
- INNER JOIN = 조건 일치 데이터만 반환
- OUTER JOIN = NULL 포함 반환
- 서브쿼리 = SQL 내부 SELECT
- DML = 데이터 조작 언어
- 트리거 = 이벤트 발생 시 자동 실행 SQL

2025 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)
※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.