정보처리기사 실기SQLSQL - LEFT OUTER JOIN과 NULL난이도 3SHORT_ANSWER

정보처리기사 실기 SQL - LEFT OUTER JOIN과 NULL 기출문제 #1675

문제

다음 [직원]과 [프로젝트] 테이블에서 SQL문 결과의 행 수를 쓰시오.

[직원]

사번담당PJ
A001P100
A002P200
A003NULL
A004P100

[프로젝트]

PJ코드프로젝트명
P100시스템개발
P300데이터분석
SQL
SELECT 직원.사번, 프로젝트.프로젝트명 FROM 직원 LEFT JOIN 프로젝트 ON 직원.담당PJ = 프로젝트.PJ코드 WHERE 프로젝트.프로젝트명 IS NOT NULL OR 직원.담당PJ IS NULL;

정답

3

3

해설

LEFT JOIN으로 직원 테이블의 모든 행이 보존됩니다. A001은 P100과 매칭되어 '시스템개발', A002는 P200이지만 프로젝트 테이블에 P200이 없어서 NULL, A003은 담당PJ가 NULL이므로 프로젝트명도 NULL, A004는 P100과 매칭되어 '시스템개발'입니다. WHERE 조건에서 프로젝트명이 NOT NULL이거나 담당PJ가 NULL인 행만 선택하므로, A001(시스템개발), A003(담당PJ NULL), A004(시스템개발) 총 3행이 결과로 나옵니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] SQL - LEFT OUTER JOIN과 NULL SQL 기출 #1675 | sqldpass