SQLD(SQL 개발자) 기출 · DML

다음 7개의 SQL 문장이 성공적으로 수행되었을 때, 세 개의 SQL 문장이 성공적으로 실행되면 select 문장의 결과는 각각 무엇인가?
본문)
create table 학과
(학과번호 char(10) primary key,
학과명 char(10));

create table 학생
(학번 char(10) primary key,
소속학과 char(10),
foreign key (소속학과) references 학과(학과번호)
on delete cascade
on updatde set null);
insert into 학과 values ('1', '전산과');
insert into 학과 values ('2', '전기과');
insert into 학생 values ('100', '1');
insert into 학생 values ('200', '2');
insert into 학생 values ('300', '2');

select count(학번) from 학생;
delete from 학과 where 학과번호 = '2';
select count(학번) from 학생;

이 문제 풀어보기

정답 및 해설 보기

정답: 4번

"select count(학번) from 학생"은 학생 테이블에 총 3개를 삽입했으므로 3이 된다. 그리고 "delete from 학과 where 학과번호 =2"를 삭제한다. 학과 테이블에서 학과번호 "2"를 삭제하면 학생 테이블과 외래키 관계로 있고 "on delete cascade"가 설정되어 있다. 따라서 학생 테이블에 학과번호 2번은 모두 자동 삭제된다. 그러면 학생 테이블에는 학과번호 "1"번만 남게 되기 때문에 1개이다.
이 단원 연속 풀기 · DML개념서 「DML (INSERT / UPDATE / DELETE / MERGE)」 읽기

이 단원 공개 기출 103문항

  1. 학생(STUDENT) 테이블에 영문학과 학생 50명, 법학과 학생 100명, 수학과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과 튜플 수는…DML
  2. 다음의 SQL문에 대한 설명 중 옳지 않은 것은?DML
  3. 다음 SQL문의 실행 결과로 올바른 것은?DML
  4. 다음 중 SQL문의 실행 순서로 올바른 것은?DML
  5. 주어진 테이블에서 아래의 SQL문과 다른 값을 반환하는 SQL문을 고르시오. [그림]DML
DML 기출 전체 보기 →