서브 쿼리를 이용한 데이터 추가
서브쿼리를 사용하면 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' 카테고리의 다른 글
데이터 삭제 DELETE (0) | 2025.10.03 |
---|---|
테이블에 날짜 데이터 입력하기 (0) | 2025.10.03 |
컬럼에 NULL 데이터 추가 (0) | 2025.10.02 |
데이터 수정(변경) UPDATE (0) | 2025.10.02 |
테이블에 데이터 추가 INSERT 문 (0) | 2025.10.01 |