INNER JOIN SAS

【SAS】SQLにおける複数テーブルの結合 その2【INNER JOIN】

投稿日:2022年2月6日 更新日:

今回も複数テーブルの結合について解説します。

前回の記事、【SAS】SQLにおける複数テーブルの結合 その1【UNION ALL】 | ビジネスイッチ (how-to-business.com)の続きとなります。


/* inner join_1 */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;


data data2;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;


proc sql;
  create table data3 AS
  select * from data1 inner join data2 on data1.Id1 = data2.Id1;
quit;

  • 名前が全く同じ列は表示されない。

/* data1,data2_1 */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;


data data2;
  Id4=1111; Id5=1111; Id6=1111;
    output;
  Id4=2222; Id5=2222; Id6=2222;
    output;
  Id4=3333; Id5=3333; Id6=3333;
    output;
run;


proc sql;
  create table data3 AS
  select * from data1,data2;
quit;

  • from句に複数テーブルあるときは、結合されてデカルト積になる。

/* inner join_2 */
data data1;
  Id1=1111; Id2=1111; Id3=1111;
    output;
  Id1=2222; Id2=2222; Id3=2222;
    output;
  Id1=3333; Id2=3333; Id3=3333;
    output;
run;


data data2;
  Id4=1111; Id5=1111; Id6=1111;
    output;
  Id4=2222; Id5=2222; Id6=2222;
    output;
  Id4=3333; Id5=3333; Id6=3333;
    output;
run;


proc sql;
  create table data3 AS
  select * from data1 inner join data2 on data1.Id1 = data2.Id4;
quit;

  • data1.Id1 = data2.Id4で一致したレコードを結合する。

-INNER JOIN, SAS

執筆者:


comment

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

関連記事

【SAS】TRANSTRN関数は指定した文字を別の文字に変換する。その2 再帰的使用

今回はTRANSTRN関数の再帰的使用について解説していきます。 (参考:【SAS】TRANSTRN関数は指定した文字を別の文字に変換する。 | ビジネスイッチ (how-to-business.co …

【SAS】DATASETSプロシージャを使ってデータセットを削除する。【DELETE】

今回はDATASETSプロシージャを使ってデータセットを削除する方法について解説します。  /* delete; */ data data1; id1=”1111″; id2=”1111″; …

【SAS】%PUTステートメントは文字列をログに出力する。その1

今回は%PUTについて解説します。 /* %put */ %put CHAR; %putにより、文字列をログに出力できる。 /* %let */ %let CHAR = aaaa ; %put &am …

【SAS】LIKE演算子は部分一致を表現できる。【WHERE】

/* if ‘%aaaa%’ */ data data1; Id1=1111; Id2=”1aaaa”; Id3=1111; output; Id1=2222; Id2=”bbbb”; Id3=222 …

【SAS】DROPで良く問われる文法【SAS Base Programming対策8】

今回もDROPについて解説します。 (対比:KEEP 【SAS】KEEPはカラムの選択に使える。 | ビジネスイッチ (how-to-business.com)) 過去記事ではDROPの使い方について …