[2025. 중등임용 정보ㆍ컴퓨터] SQL 갱신문과 테이블 삭제

SQL 갱신문과 테이블 삭제
SQL 갱신문과 테이블 삭제2

정답

㉠ UPDATE ㉡ 동영상.접속가능 = ‘F’ 동영상 테이블의 튜플만 삭제: DELETE FROM 동영상; 동영상 테이블과 이를 참조하는 제약조건 모두 삭제: DROP TABLE 동영상 CASCADE CONSTRAINTS;

출제 의도

특정 조건을 만족하는 튜플만 갱신하는 서브쿼리 기반 UPDATE 문을 작성하고, 테이블의 데이터만 삭제하는 명령과 테이블과 관련 제약조건까지 모두 삭제하는 명령을 구분할 수 있는지를 평가한다.

풀이 과정

먼저 서비스 테이블에서 환불대상이 아직 ‘F’이고, 연결된 동영상의 접속가능 값이 ‘F’인 경우에만 환불대상을 ‘T’로 바꿔야 한다.

튜플을 갱신하는 명령은 UPDATE 이므로 ㉠에는 UPDATE가 들어간다.

서브쿼리는 동영상 테이블에서 접속이 불가능한 동영상의 ID를 선택해야 한다. 접속 가능 여부는 동영상 테이블의 속성 ‘접속가능’에 ‘F’ 또는 ‘T’로 저장되어 있으므로, 조건은

\( \text{동영상.접속가능} = ‘F’ \)

가 된다. 따라서 ㉡에는 동영상.접속가능 = 'F'가 들어간다.

다음으로, 동영상 테이블은 남겨두고 그 안의 튜플만 모두 삭제하는 명령은 DELETE문을 사용해

DELETE FROM 동영상;

과 같이 작성한다.

마지막으로 동영상 테이블 자체와, 이를 참조하고 있는 모든 제약조건(외래키 제약 등)을 함께 삭제하려면 DROP TABLE에 CASCADE 옵션을 붙여

DROP TABLE 동영상 CASCADE CONSTRAINTS;

라고 작성하면 된다.

<풀이가 부정확할 수 있으니 반드시 교차검증 확인 바랍니다.>