서브 쿼리를 이용한 데이터 추가

서브쿼리를 사용하면 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

+ Recent posts