SQL Server/실기 정리

SQL Server 31강 - 양쪽 테이블 모두 포함하는 FULL OUTER JOIN

코딩하는냥이 2025. 6. 4. 11:05
반응형

이번 글에서는 FULL OUTER JOIN을 사용하여 양쪽 테이블(industry_group_symbol, nasdaq_company)의 모든 데이터를 포함하는 조인 방식을 실습했습니다.
이 방식은 두 테이블 중 어디에도 매칭되지 않는 데이터를 포함한 전체 비교가 필요할 때 유용합니다.


📌 예제 코드 ①: 전체 조인 결과 확인

SELECT 
    a.symbol AS a_symbol,
    b.symbol AS b_symbol
FROM industry_group_symbol AS a
FULL OUTER JOIN nasdaq_company AS b 
    ON a.symbol = b.symbol;

💬 설명

  • industry_group_symbol과 nasdaq_company 테이블을 symbol 기준으로 결합
  • 양쪽 테이블 모두 포함하되, 매칭되지 않는 경우 NULL로 표시
  • LEFT JOIN + RIGHT JOIN을 합친 효과

📌 예제 코드 ②: 조인되지 않은 항목만 필터링

SELECT 
    a.symbol AS a_symbol,
    b.symbol AS b_symbol
FROM industry_group_symbol AS a
FULL OUTER JOIN nasdaq_company AS b 
    ON a.symbol = b.symbol
WHERE a.symbol IS NULL OR b.symbol IS NULL;

💬 설명

  • 조인 조건에 매칭되지 않은 항목들만 필터링
  • a.symbol IS NULL: industry_group_symbol에 없는 symbol
  • b.symbol IS NULL: nasdaq_company에 없는 symbol

💻 실행 결과 예시

  • 첫 번째 쿼리는 양쪽 테이블의 모든 symbol을 포함해 보여줍니다.
  • 두 번째 쿼리는 서로 매칭되지 않은 symbol만 필터링하여 보여줍니다.

💬 코드 설명

  • FULL OUTER JOIN: 양쪽 모두 포함하여 조인 (매칭 실패 시 NULL)
  • WHERE a.symbol IS NULL OR b.symbol IS NULL: 조인되지 않은 행만 추출
  • 데이터 비교, 불일치 항목 확인, 동기화 검사 등에 활용

💡 포인트 정리

  • FULL OUTER JOIN: LEFT + RIGHT JOIN 합성
  • 매칭되지 않은 모든 데이터까지 확인 가능
  • 불일치 항목만 필터링할 때는 IS NULL 조건 사용
  • 두 테이블 간 전체 비교 및 누락 검출에 유용

📌 정리하자면, 이번 강의에서는 FULL OUTER JOIN을 사용하여 양쪽 테이블의 전체 데이터를 포괄적으로 조인하고,
조인되지 않은 데이터까지 포함한 결과를 확인하는 방법을 실습했습니다.
이 방식은 특히 데이터 일치 여부를 전수 조사하거나, 누락된 데이터를 식별할 때 매우 유용합니다.