2014年11月13日木曜日

SQLプロシジャ入門11:データセットを横結合する【INNER JOIN】




SQLプロシジャで横結合する方法を紹介していきます。
まずは、2つのデータセットを横結合して、指定した結合条件に合致するレコードのみを残す方法。




サンプルデータ
data DT1;
  A=1; B="AA"; output;
  A=2; B="BB"; output;
run;

data DT2;
  A=2; C=10; output;
  A=3; C=20; output;
run;

DT1
 A 
B
  1  
  AA   
  2
  BB  

DT2
 A 
C
  2  
  10   
  3
  20  



方法1
proc sql;
   create table  DT3 as
   select    DT1.A , B , C
   from      DT1, DT2
   where    DT1.A = DT2.A ;
quit;

データセットDT3
  A  
 B 
  C  
  2
  BB 
 10

基本構文
 from  データセット1 , データセット2
 where  結合条件


解説
・WHEREによって、変数Aの値が共通するレコードだけを残すようにしてます。
・DT1とDT2で同じ変数名Aを持ってるので、どっちのAを使うのか明確にするため、「DT1.A」とか「DT2.A」と書いてあげる必要がある。




方法2
proc sql;
   create table  DT4 as
   select    DT1.A , B ,  C
   from      DT1  inner join  DT2  on  DT1.A = DT2.A;
quit;


基本構文
  from  データセット1  inner join  データセット2   on  結合条件


解説
結果は方法1と同様。




11.データセットを横結合する【INNER JOIN】
13.データセットを横結合する【FULL JOIN】
14.データセットを縦結合する【UNION】
15.NULLの扱いに関する注意点


0 件のコメント:

コメントを投稿