INSERT 문
- 생성된 테이블에 새로운 자료를 삽입
(사용형식)
INSERT INTO 테이블명[(컬럼명1, 컬럼명2,...)]
VALUES(값1, 값2,...);
. '(컬럼명1, 컬럼명2,...)' :생략하면 테이블 생성시 기술한 순서와 모든 컬럼에 배정될 값(데이터)을 VALUES절에 기술해야한다.
. '(컬럼명1, 컬럼명2,...)' :필요한 컬럼에만 값을 배정하기 위해 사용되며 컬럼 제약사항이 NOT NULL 인 컬럼은 생략할 수 없음.
사용예) 사원 테이블(EMPLOYEE)에 다음 자료를 입력하시오
INSERT INTO EMPLOYEE
VALUES(18021,'홍길동','대전시 중구 중앙로 76','설계부');
INSERT INTO EMPLOYEE
VALUES(20002,'홍길순', '' , '토목' );
INSERT INTO EMPLOYEE(EMP_ID, EMP_NAME, DEPT_NAME)
VALUES(17113,'강감찬','총무부');
INSERT INTO EMPLOYEE(EMP_ID, EMP_NAME)
VALUES(19007,'이성계');
SELECT * FROM EMPLOYEE;
사용예) 다음 자료를 사업장테이블(CONST_SITE)에 다음 자료를 입력하시오
INSERT INTO CONST_SITE
VALUES('A1010120', '도로신설공사', '충남 예산군 예산읍', '123-5678', '공사중');
INSERT INTO CONST_SITE
VALUES('C2103002','새여울초등학교', '대전시 대덕구', '876-0987',' 공사완료');
SELECT * FROM CONST_SITE;
**사용예) 다음 자료를 근무테이블에 입력하시오
1) 홍길동 사원이 '도로신설공사' 공사장에 오늘 일자로 배속됨
INSERT INTO TBL_WORKS(EMP_ID, CONST_ID)
VALUES('18021','A1010120');
INSERT INTO TBL_WORKS(EMP_ID, CONST_ID)
VALUES('19007','A1010120');
INSERT INTO TBL_WORKS(EMP_ID, CONST_ID)
VALUES('20002','A1010120');
SELECT * FROM TBL_WORKS;
2) 강감찬 사원이 '새여울초등학교' 공사장에 2020년 2월1일 배속되어 2020년 12월30일까지 근무했음
INSERT INTO TBL_WORKS
VALUES('17113','C2103002', TO_DATE('20200201'), TO_DATE('20201230'));
SELECT * FROM TBL_WORKS;
** '도로신설공사' 공사장에서 근무하는 모든 사원을 조회하시오.
SELECT B.EMP_ID AS 사원번호,
B.EMP_NAME AS 사원명,
B.DEPT_NAME AS 부서명,
A.SDATE AS 배속일
FROM TBL_WORKS A, EMPLOYEE B, CONST_SITE C
WHERE A.EMP_ID=B.EMP_ID
AND A.CONST_ID=C.CONST_ID
AND C.CONST_NAME='도로신설공사'
ORDER BY 1;