문제
아래의 SQL문장을 올바르게 해석한 것은 무엇인가?
SQLSELECT 성명, 학년 FROM 데이터베이스 WHERE EXISTS ( SELECT * FROM 인공지능 WHERE 데이터베이스.학번 = 인공지능.학번 );
① 인공지능 테이블에서, 데이터베이스 수업을 수강하는 학생을 조회 ② 인공지능 테이블에서, 데이터베이스 수업을 수강하지 않는 학생을 조회 ③ 데이터베이스 테이블에서, 인공지능 수업을 수강하는 학생을 조회 ④ 데이터베이스 테이블에서, 인공지능 수업을 수강하지 않는 학생을 조회
정답
3번
해설
정답: 3. 외부 테이블은 데이터베이스이며, EXISTS 조건으로 인공지능 테이블에 같은 학번이 존재하는 학생을 조회한다.
오답 풀이
- 1번: 조회 기준 테이블이 인공지능이 아니다.
- 2번: NOT EXISTS가 아니므로 수강하지 않는 학생이 아니다.
- 3번: 데이터베이스 테이블에서 인공지능 수업 수강 학생을 조회한다.
- 4번: NOT EXISTS 조건이 아니다.
보충 개념 EXISTS는 서브쿼리 결과가 존재하는지 여부를 조건으로 판단한다.