[프로그래밍] 문제 해결

[문제 해결] OUTER JOIN 을 왜 쓸까?

JHVan 2024. 11. 11. 16:40

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