데이터 테이블 연결 - 가로 1(완전 외부 조인)

테이블과 테이블의 연결은 세로 방향(행이 증가함)과 가로 방향(열이 증가함)일 수 있습니다.
세로 방향의 경우는 집합, 가로 방향의 경우는 결합이라고 합니다.

조인에는 다음과 같은 패턴이 있습니다.
완전 외부 조인 : 공통되지 않은 모든 레코드를 포함하여 열을 늘립니다.
오른쪽(왼쪽) 외부 조인: 오른쪽(왼쪽) 측 테이블의 공통되지 않은 레코드를 포함하여 열을 늘립니다.
내부 조인 : 공통 레코드를 대상으로 열을 늘립니다.

이번에는 완전 외부 조인에 대해 SAS 프로그램과 SQL 및 Python (Pandas)을 각각 사용한 예를 소개합니다.

하고 싶은 조작은 아래와 같습니다.

A 열을 키로 사용하여 값이 일치하지 않더라도 모든 레코드를 검색하고 가로로 연결합니다.

① SAS 프로그램에서의 완전 외부 결합


data table_3;
  merge table_1 table_2;
  by a;
run;

merge 문에서 옆으로 겹칠 수 있습니다.
by 다음에 오는 변수가 키입니다.


② SQL에서의 완전 외부 조인


 create table  table_3 as
 select coalesce(table_1.A, table_2.A) as A, B, C 
 from table_1 full join table_2  on  table_1.A = table_2.A ;

SELECT 검색 변수 이름 from 데이터 세트 1 full join 데이터 세트 2 on 조인 조건

SELECT 문에서 coalesce라는 함수를 사용합니다. 주어진 인수 중 NULL이 아닌 첫 번째 인수를 반환합니다.
coalesce 함수에 대한 자세한 내용은 아래 링크를 참조하십시오.
h tps : // 드는 by. jp / 우세 rs / 아키오 0911_ 온_ 라 ls / 엔 토리 s / SQL_
htps // ch. 오 d세 d. 이. jp / sql
또한 결합할 두 데이터세트에 동일한 변수 이름이 있는 경우 "데이터 세트 이름. 변수 이름"이라고 씁니다.


③ Python (Pandas)에서의 완전 외부 결합


import pandas as pd
table_1 = pd.DataFrame({'A': [1, 2], 'B': ['AA', 'BB']})
table_2 = pd.DataFrame({'A': [2, 3], 'C': [10, 20]})
table_3 = pd.merge(table_1, table_2, on = "A", how="outer")

.merge 로 조인, on 에 키열을 지정, how 로 양식(완전 외부이므로 "outer")을 지정합니다.

출력 결과

덧붙여서 how 의 양식 지정에서는, "inner"가 내부 결합, "left"("right") 가 좌 (우) 외부 결합이 됩니다.

관련 기사



데이터 테이블의 연결 - 세로 방향 1(다른 열명을 그대로 남기는 경우)
데이터 테이블 연결 - 세로 방향 2(다른 열 이름을 통합하는 경우)
데이터 테이블의 연결-세로 방향 3(적 집합과 차 집합)
데이터 테이블 연결 - 가로 2(내부 조인)
데이터 테이블 연결 - 가로 방향 3(좌우 외부 결합)
데이터 테이블 연결 - 교차 조인

좋은 웹페이지 즐겨찾기