MERGE
- 주어진 조건에 따라 테이블의 데이터를 병합하는 기능
- 주로 두 개의 테이블을 비교하고, 일치하는 행을 갱신하거나 없을 경우 새로운 행을 삽입하는 작업에 이용
- 갱신, 삭제, 삽입을 한 번에 작업 가능하게 함
- MERGE 문의 경우, 단일 테이블에 갱신, 삽입하는 경우 많이 사용되지만, 두 개의 테이블을 비교하거나 서브 쿼리의 결과에 따라 갱신, 삽입 작업이 가능함
- MERGE 문을 사용하지 않을 경우, 해당 조건으로 테이블을 select 한 후 if 조건을 사용해 갱신이나 삽입하는 로직을 작성해야 함 (번거로움)
MERGE 문 사용 시 주의사항
- USING 절 alias 필수
- USING 절의 데이터에 변경할 테이블과 비교 테이블의 Key 컬럼 값이 중복으로 존재할 경우