문제
다음 [직원]과 [프로젝트] 테이블에서 SQL문을 실행한 결과의 행 수를 쓰시오.
[직원]
| 직원ID | 이름 | 프로젝트ID |
|---|---|---|
| 101 | 홍길동 | P001 |
| 102 | 김영희 | P002 |
| 103 | 이철수 | NULL |
| 104 | 박민정 | P004 |
[프로젝트]
| 프로젝트ID | 프로젝트명 |
|---|---|
| P001 | 웹개발 |
| P002 | 모바일앱 |
| P003 | AI연구 |
SQLSELECT 직원.이름, 프로젝트.프로젝트명 FROM 직원 RIGHT OUTER JOIN 프로젝트 ON 직원.프로젝트ID = 프로젝트.프로젝트ID WHERE 직원.이름 IS NULL OR 프로젝트.프로젝트명 LIKE '%개발';
정답
2
2
해설
RIGHT OUTER JOIN으로 프로젝트 테이블의 모든 행이 보존됩니다. 매칭 결과: (홍길동, 웹개발), (김영희, 모바일앱), (NULL, AI연구), (박민정은 P004가 프로젝트 테이블에 없어 제외). WHERE 조건에서 직원.이름 IS NULL(AI연구 행)과 프로젝트명 LIKE '%개발'(웹개발 행)이 만족되어 총 2행이 출력됩니다.