NULL 을 반환하는 row 가 있는 OUTER JOIN 을 왜 쓸까?
OUTER JOIN은 데이터베이스에서 한 테이블의 모든 행을 유지하면서 다른 테이블에서 일치하는 데이터를 가져오는 데 사용된다.
1. 전체 데이터를 포함한 보고서 작성
OUTER JOIN은 한 테이블에는 있지만 다른 테이블에는 없는 데이터도 표시해야 할 때 사용한다.
예를 들어, 병원 데이터베이스에서 모든 환자 목록과 그들이 담당하는 의사의 정보를 함께 봐야 할 때,
일부 환자는 특정 이유로 의사가 배정되지 않았을 수도 있고, 그래도 환자의 존재는 확인 가능해야 한다.
예시 :
SELECT p.patient_id, p.name, d.doctor_name
FROM Patients p
LEFT OUTER JOIN Doctors d ON p.doctor_id = d.doctor_id;
Patients 테이블의 모든 환자와 그들의 담당 의사를 보여주되,
의사가 없는 환자는 doctor_name이 NULL로 표시되어 담당의가 있다면 이름을, 없다면 NULL 을 포함해 반환함
담당의가 있던 없던, 모든 Patients 들은 반환됨.
2. 데이터 통계와 분석
NULL을 반환하는 행은 분석 및 통계에 중요한 정보를 제공한다.
예를 들어, 병원의 보고서에서 특정 의사에게 배정되지 않은 환자의 수를 파악할 수 있다.
위와같이 경우에 따라 목적에 맞는 데이터를 파악하는데 필요하다.
예시 :
SELECT COUNT(*) AS unassigned_patients
FROM Patients p
LEFT OUTER JOIN Doctors d ON p.doctor_id = d.doctor_id
WHERE d.doctor_id IS NULL;
담당 의사가 없는 환자의 수를 반환하여 병원 관리자에게 유용한 정보를 제공
'[프로그래밍] 문제 해결' 카테고리의 다른 글
[SPRING] CORS 해결 (1) | 2024.04.24 |
---|