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

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

문제

다음 [제품]과 [카테고리] 테이블에서 SQL문 결과의 행 수를 쓰시오.

[제품] | 제품명 | 분류ID | 가격 | | 노트북 | 100 | 800000 | | 마우스 | 200 | 25000 | | 키보드 | NULL | 45000 | | 모니터 | 300 | 350000 | | 스피커 | NULL | 120000 |

[카테고리] | ID | 분류명 | | 100 | 컴퓨터 | | 200 | 주변기기 | | 400 | 소프트웨어 |

SQL
SELECT 제품.제품명, 카테고리.분류명, 제품.가격 FROM 제품 RIGHT OUTER JOIN 카테고리 ON 제품.분류ID = 카테고리.ID WHERE 제품.가격 > 50000 OR 카테고리.분류명 IS NOT NULL;

정답

5

5

해설

RIGHT OUTER JOIN은 우측(카테고리) 테이블의 모든 행을 보존합니다. 먼저 조인 결과를 보면: (노트북, 컴퓨터, 800000), (마우스, 주변기기, 25000), (키보드, NULL, 45000), (모니터, NULL, 350000), (스피커, NULL, 120000), (NULL, 소프트웨어, NULL)가 됩니다. WHERE 조건은 '가격 > 50000 OR 분류명 IS NOT NULL'이므로: 노트북(800000>50000), 마우스(분류명 NOT NULL), 모니터(350000>50000), 스피커(120000>50000), 소프트웨어 행(분류명 NOT NULL)이 조건을 만족하여 총 5행입니다.

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

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

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