서브쿼리를 사용하여 데이터 조작
💡 DML 문의 서브쿼리를 사용하여 다음 작업 수행 가능
- 인라인 뷰에서 데이터 검색
- 한 테이블에서 다른 테이블로 데이터 복사
- 다른 테이블의 값을 기반으로 테이블의 데이터 갱신
- 다른 테이블의 행을 기반으로 테이블에서 행 삭제
명시적 기본값 기능의 개요
- 기본 열 값이 필요한 경우 DEFAULT 키워드를 열 값으로 사용
- 이 기능을 사용하면 유저가 기본값을 데이터에 적용해야 하는 위치 및 시기 제어 가능
- 명시적 기본값은 INSERT 및 UPDATE 문에서 사용할 수 있음
다른 테이블에서 행 복사
💡 VALUES 절 사용 X
INSERT 절의 열 개수와 서브쿼리의 열 개수를 맞춤
다중 테이블 INSERT 문의 개요
- INSERT .. SELECT 문을 사용하여 행을 단일 DML 문의 일부로 다중 테이블에 삽입
- 데이터 웨어하우징 시스템에서 다중 테이블 INSERT 문을 사용하여 하나 이상의 운영 소스에서 대상 테이블 집합으로 데이터 전송
- 다음과 같은 비교를 통해 성능이 크게 향상됨을 확인할 수 있음
- 단일 DML 문과 다중 INSERT .. SELECT 문 비교
- 단일 DML 과 IF .. THEN 구문을 사용하여 다중 삽입을 수행하는 프로시저 비교
다중 테이블 INSERT 문의 유형
💡 다중 테이블 INSERT 문에는 다음과 같은 다양한 유형이 있음
- 무조건 INSERT
- 조건부 INSERT ALL
- 피벗팅 INSERT
- 조건부 INSERT FIRST
MERGE 문
💡 테이블에 행을 조건부로 삽입, 갱신 또는 삭제 가능
- 데이터베이스 테이블을 조건부로 갱신하거나 데이터를 삽입 또는 삭제하는 기능 제공
- 행이 존재하는 경우 UPDATE 를 수행하고 새 행인 경우 INSERT 를 수행
- 별도의 갱신 방지
- 성능 및 사용 편의성이 향상
- 데이터 웨어하우징 응용 프로그램에서 유용