다음 MERGE 문을 실행한 뒤 요금표의 행 수와, MERGE 가 갱신… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 MERGE 문을 실행한 뒤 요금표의 행 수와, MERGE 가 갱신·삽입으로 처리한 행 수를 순서대로 나열한 것은? (단위: 행)

[요금표]

상영관요금
1관12000
2관13000
3관15000

[신규요금]

상영관요금
2관14000
3관15000
4관18000
MERGE INTO 요금표 T
USING 신규요금 S
   ON (T.상영관 = S.상영관)
 WHEN MATCHED THEN
   UPDATE SET T.요금 = S.요금
 WHEN NOT MATCHED THEN
   INSERT (상영관, 요금)
   VALUES (S.상영관, S.요금);
1
3, 2
2
4, 2
3
4, 3
4
6, 3
해설

ON 조건에 맞는 2관·3관은 WHEN MATCHED 로 갱신되고 짝이 없는 4관은 WHEN NOT MATCHED 로 삽입되어 처리 행 수는 3, 요금표는 4행이 된다.

3관은 바뀌기 전후 요금이 같지만 조건에 맞았으므로 UPDATE 대상으로 처리되고, 원본에 없는 1관은 영향을 받지 않는다.

  • 처리 2행은 값이 같은 3관을 갱신 대상에서 뺀 값이다.
  • 요금표 3행은 4관이 삽입된다는 점을 놓친 값이다.
  • 요금표 6행은 원본 행을 모두 새로 붙인다고 본 값이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 9회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기