DML (INSERT, UPDATE, DELETE)

layssingcar·2021년 9월 30일
0

Oracle

목록 보기
9/22
post-thumbnail

🏹 INSERT

  • VALUES 대신 서브쿼리 사용 가능
    INSERT INTO EMP_01 (SELECT EMP_ID, EMP_NAME, DEPT_TITLE FROM EMPLOYEE
    LEFT JOIN DEPARTMENT ON (DEPT_CODE = DEPT_ID));

🏹 INSERT ALL

INSERT 시 서브쿼리가 사용하는 테이블이 같은 경우
두 개 이상의 테이블에 INSERT ALL을 이용하여 한 번에 삽입 가능
  ⭐ 각 서브쿼리의 조건절이 같아야 함!

INSERT ALL
INTO EMP_DEPT VALUES (EMP_ID, EMP_NAME, DEPT_CODE, HIRE_DATE)
INTO EMP_MANAGER VALUES (EMP_ID, EMP_NAME, MANAGER_ID)
SELECT EMP_ID, EMP_NAME, DEPT_CODE, HIRE_DATE, MANAGER_ID FROM EMPLOYEE
WHERE DEPT_CODE = 'D1';


🏹 UPDATE

  • UPDATE 시에도 서브쿼리 사용 가능
    UPDATE EMPLOYEE SET
    SALARY = (SELECT SALARY FROM EMPLOYEE WHERE EMP_NAME = '유재식')
    WHERE EMP_NAME = '방명수';

🏹 MERGE

구조가 같은 두 개의 테이블을 하나로 합치는 기능
두 테이블에서 지정하는 조건의 값이 존재하면 UPDATE, 조건의 값이 없으면 INSERT


🏹 TRUNCATE (DDL)

테이블 전체 행을 삭제하는 구문
DELETE보다 수행 속도는 빠르지만 ROLLBACK을 통해 복구할 수 없음
TRUNCATE TABLE EMPLOYEE;

profile
틀린 내용이 있다면 댓글 또는 이메일로 알려주세요 ❤ꔛ❜

0개의 댓글