다음 UPDATE 문을 실행한 결과로 옳은 것은?[예약]예약번호승객번호… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 4회
다음 UPDATE 문을 실행한 결과로 옳은 것은?[예약]
| 예약번호 | 승객번호 | 등급 |
|---|---|---|
| 1 | 10 | 일반 |
| 2 | 20 | 일반 |
| 3 | 30 | 일반 |
| 4 | 40 | 일반 |
[승객]
| 승객번호 | 등급 |
|---|---|
| 10 | 골드 |
| 20 | 실버 |
| 30 | 골드 |
UPDATE 예약 R
SET 등급 = (SELECT P.등급
FROM 승객 P
WHERE P.승객번호 = R.승객번호);1
짝이 없는 행 때문에 오류가 발생한다
2
3행만 갱신되고 1행은 원래 값이 남는다
3
4행 모두 갱신되고 1행은 NULL 이 된다
4
짝이 없는 행은 삭제되어 3행만 남는다
해설
WHERE 절이 없으므로 예약 4행 모두가 갱신 대상이며, 승객 테이블에 40번이 없는 예약 4는 서브쿼리가 0행이라 NULL 로 갱신된다.
값이 없는 스칼라 서브쿼리는 오류가 아니라 NULL 을 돌려준다. 짝이 있는 행만 바꾸려면 WHERE EXISTS 조건을 함께 써야 한다.
- 짝 없는 행도 대상에 포함되므로 원래 값이 그대로 남지 않는다.
- 서브쿼리 결과가 0행이면 오류 없이 NULL 이 된다.
- UPDATE 는 행을 지우지 않으므로 4행이 그대로 있다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 4회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- dml에해당하는sql명령으로만나열된것은? {"answer":3,"content":[{"content":"delete,update,create,alter20년-1, 2회차-정보처리기사-필기
- 다음은테이블을수정할때의상황입니다.sql보기에서괄호안에알맞는문장을작성하시오. (1)테이블명(2)컬럼=값whre점수>=90; 1.update 2.set2021년 정보처리기사실기 2회차
- sql의명령을사용용도에따라ddl,dml,dcl로구분할경우,그성격이나머지셋과다른것은? {"answer":4,"content":[{"content":"se22년-2회차-정보처리기사-필기