<자격증>/[SQLD]

SQLD 자격검증실전문제 96번 문제

9566 2023. 3. 21. 16:50
728x90


96번. 아래 테이블은 어느 회사의 사원들과 아들이 부양하는 가족에 대한 것으로 밑줄친 칼럼은 기본키(Primary Key)를 표시한 것이다. 다음 중 '현재 부양하는 가족들이 없는 사원들의 이름을 구하라'는 질의에 대해 아래 SQL 문장의 ᄂ 에 들어 갈 내용으로 가장 적절한 것은?

[테이블]
사원 (사번, 이름, 나이)
가족 (이름, 나이, 부양사번)
※ 가족 테이블의 부양사번은 사원 테이블의 사번을 참조하는 외래키(Foreign Key)이다.

[SQL 문장]

SELECT 이름
FROM 사원
WHERE ㄱ (SELECT * FROM 가족 WHERE ㄴ)


1 ᄀ : EXISTS, ᄂ : 사번 = 부양사번
2 ᄀ : EXISTS, ᄂ : 사번 ◇ 부양사번
3 ᄀ : NOT EXISTS, ᄂ : 사번= 부양사번
4 ᄀ : NOT EXISTS, ᄂ : 사번 ◇부양사번

[정답] 3번

[해설]

위의 SQL 쿼리는 다음과 같은 동작을 수행합니다:

  1. 사원 테이블에서 이름을 선택합니다.
  2. 가족 테이블에서 사번과 부양사번을 선택합니다.
  3. 각 사원에 대해 하위 쿼리를 실행합니다. 하위 쿼리는 해당 사원의 사번과 일치하는 가족 행 중 부양사번이 존재하는지 확인합니다.
  4. 하위 쿼리의 결과가 거짓인 경우에만, 사원 테이블에서 선택된 이름을 반환합니다.

즉, 이 쿼리는 가족 테이블에서 해당 사원의 부양사번이 존재하지 않는 사원들의 이름을 선택하여 반환합니다. 이를 통해 가족 정보가 없는 사원들을 찾을 수 있습니다.

[복습]

728x90