
서브 쿼리를 이용한 데이터 추가
서브쿼리를 사용하면 SELECT문으로 한번에 여러 행의 데이터를 추가할 수 있습니다.
예를들어 사원정보(EMP) 테이블에서 사원급여정보(SALGRADE) 테이블을 참고하여 급여등급(GRADE)이 1인 사원만을 EMP_TEMP 테이블에 넣고 싶다면 서브쿼리를 포함한 INSERT문을 사용하시면 됩니다.
INSERT INTO EMP_BAK (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO)
SELECT E.EMPNO, E.ENAME, E.JOB, E.MGR, E.HIREDATE, E.SAL, E.COMM, E.DEPTNO
FROM EMP E, SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL
AND S.GRADE = 1;

위의 예제에서 보는 것과 같이 INSERT문에서 서브쿼리를 사용할때는
- VALUES절을 사용하지 않아야 하고,
- 데이터를 추가할 테이블과 서브쿼리의 열의 갯수가 일치해야 하며,
- 데이터를 추가할 테이블과 서브쿼리의 자료형이 일치해야 합니다.
'DataBase' 카테고리의 다른 글
| 트랜잭션(TRANSACTION) - 작성중 (1) | 2025.11.02 |
|---|---|
| TCL(Transaction Control Language) 명령어 (0) | 2025.11.01 |
| 데이터 삭제 DELETE (0) | 2025.10.03 |
| 테이블에 날짜 데이터 입력하기 (0) | 2025.10.03 |
| 컬럼에 NULL 데이터 추가 (0) | 2025.10.02 |