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

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

문제

다음 [계약]과 [고객] 테이블에서 SQL문 실행 후 'D' 고객의 총매출 컬럼 값을 쓰시오.

[계약]

고객ID계약금액상태
A1000완료
B2000취소
C1500완료
DNULL완료
E3000완료

[고객]

ID고객명
A갑회사
B을회사
C병회사
D정회사
F무회사
SQL
SELECT 고객.고객명, COALESCE(계약.계약금액, 0) AS 총매출 FROM 고객 RIGHT OUTER JOIN 계약 ON 고객.ID = 계약.고객ID WHERE 계약.상태 = '완료' ORDER BY 계약.고객ID;

정답

0

0

해설

RIGHT OUTER JOIN으로 계약 테이블의 모든 행이 보존됩니다. WHERE 절에서 상태='완료'인 행만 필터링되므로 A(1000), C(1500), D(NULL), E(3000)가 선택됩니다. D 고객의 계약금액은 NULL이므로 COALESCE 함수에 의해 0으로 변환되어 총매출이 0이 됩니다.

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

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

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