문제
다음 [제품]과 [카테고리] 테이블에서 SQL문 결과의 행 수를 쓰시오.
[제품] | 제품명 | 분류ID | 가격 | | 노트북 | 100 | 800000 | | 마우스 | 200 | 25000 | | 키보드 | NULL | 45000 | | 모니터 | 300 | 350000 | | 스피커 | NULL | 120000 |
[카테고리] | ID | 분류명 | | 100 | 컴퓨터 | | 200 | 주변기기 | | 400 | 소프트웨어 |
SQLSELECT 제품.제품명, 카테고리.분류명, 제품.가격 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행입니다.