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

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

테이블에 날짜 데이터 입력하기

 

1. 특정일 입력하기

 EMP 테이블의 형식을 가져와서 만든 EMP_BAK 테이블의 HIREDATE 컬럼에 날짜 데이터를 입력해 봅시다.

INSERT INTO EMP_BAK
    VALUES (1111, 'ANN', 'FREE', NULL, '01/12/25', 2500, 1000, 10);

 

날짜의 형식을 '01/12/25' 대신 '2002-12-25'의 형식으로 입력해도 자료는 정상적으로 입력 됩니다.

INSERT INTO EMP_BAK
    VALUES (1111, 'ANN', 'FREE', NULL, '2002-12-25', 2500, 1000, 10);

 

 

2. 오늘 날짜 입력하기

날짜를 입력할 때 특정일이 아닌 오늘의 날짜를 입력해 봅시다. 

INSERT INTO EMP_BAK
    VALUES (1111, 'ANN', 'FREE', NULL, SYSDATE, 2500, 1000, 10);

 

 

'DataBase' 카테고리의 다른 글

서브 쿼리를 이용한 데이터 추가  (0) 2025.10.04
데이터 삭제 DELETE  (0) 2025.10.03
컬럼에 NULL 데이터 추가  (0) 2025.10.02
데이터 수정(변경) UPDATE  (0) 2025.10.02
테이블에 데이터 추가 INSERT 문  (0) 2025.10.01

 

컬럼에 NULL 데이터 추가

INSERT문으로 새로운 데이터를 추가할 때, 특정 열에 들어갈 데이터가 확정되지 않았거나, 굳이 넣을 필요가 없을 때에는 NULL을 사용합니다. 

 

1. NULL의 명시적 입력

NULL을 지정하여 직접 입력하실 수 있습니다.

 INSERT INTO DEPT_BAK (DEPTNO, DNAME, LOC)
    VALUES (70, 'SOFTWARE', NULL);

 

 

NULL을 지정하여 직접 입력하는 것 이외에,

해당 자료형이 문자열이거나 날짜형인 경우 빈 공백문자를 이용하여 입력하실 수도 있습니다.

INSERT INTO DEPT_BAK (DEPTNO, DNAME, LOC)
    VALUES (80, 'MODEL', '');

 

 

2. NULL의 암시적 입력

NULL의 암시적 입력 방법은 INSERT 문에서 NULL이 들어갈 컬럼의 이름을 입력하지 않는 것입니다. 

사용 예는 아래와 같습니다.

INSERT INTO DEPT_BAK (DEPTNO, LOC)
    VALUES (90, 'INCHEON');

 

 

'DataBase' 카테고리의 다른 글

데이터 삭제 DELETE  (0) 2025.10.03
테이블에 날짜 데이터 입력하기  (0) 2025.10.03
데이터 수정(변경) UPDATE  (0) 2025.10.02
테이블에 데이터 추가 INSERT 문  (0) 2025.10.01
연산자 우선순의(Priority)  (0) 2025.10.01

 

테이블에 데이터 추가 INSERT 문 

 

테이블에 데이터를 추가할 때는 INSERT문을 사용하시면 됩니다.

 

기본형식

INSERT INTO 테이블명 ( 컬럼1, 컬럼2, ... , 컬럼n )
    VALUE ( 컬럼1에 들어갈 데이터, 컬럼2에 들어갈 데이터, ... , 컬럼n에 들어갈 데이터

 

INSERT INTO 절 뒤에 데이터를 추가할 테이블 이름을 쓰고,

해당 테이블의 컬럼을 소활호로 묶어 지정한 후

VALUE절 에서는 지정한 열에 입력한 데이터를 작성해 주시면 됩니다.

 

사용 예 1. 기본형식

실습을 위해 만들어 놓았던 DEPT_BAK 테이블에 정보를 추가해 봅시다.

INSERT INTO DEPT_BAK (DEPTNO, DNAME, LOC)
    VALUES (50, 'DATABASE', 'SEOUL');

DEPT_BAK 테이블을 조회해 보면, 해당 값이 정상적으로 추가된 것을 확인하실 수 있습니다.

 

 

사용 예 2. 컬럼 지정 생략

INSERT문에서 컬럼명을 생략할 수 있습니다. 컬럼명을 생략하면 해당 테이블에 자료를 추가할때 기존 컬럼의 순서대로 데이터가 입력 됩니다. 이때 테이블을 구성하는 열의 갯수나 자료형, 길이 등은 반드시 일치해야 합니다.


실습을 위해 만들어 놓았던 DEPT_BAK 테이블에 정보를 추가해 봅시다.

INSERT INTO DEPT_BAK
    VALUES (60, 'NETWORK', 'BUSAN');
SELECT *
FROM DEPT_BAK;

 

 

 

'DataBase' 카테고리의 다른 글

컬럼에 NULL 데이터 추가  (0) 2025.10.02
데이터 수정(변경) UPDATE  (0) 2025.10.02
연산자 우선순의(Priority)  (0) 2025.10.01
테이블을 생성하는 CREATE 문 - 작성중  (0) 2025.10.01
[Oracle] 오라클 함수 정리  (0) 2025.09.08

+ Recent posts