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】PRINTプロシージャは入力データセットの中身を結果に表示する【obs=】

今回はPRINTプロシージャについて解説します。 /* print */ data data1; 番号=”AAAAAA”; コード=”02″; 金額=1999; output; 番号=”AAAAAA” …

【SAS】%MACROはマクロを定義することができる。その5 =を使うと数を渡す引数,数を受け取る引数を指定できる。【%MEND】

今回はマクロ引数に「=」を用いる方法について解説していきたいと思います。(事前に読んでおきたい記事:【SAS】%MACROはマクロを定義することができる。その3 マクロには引数を設定できる。【%MEN …

【SAS】SASで良く使うテクニック。その1 Excel関数のIF~2テーブルを比較したいとき~

今回はSASで良く使うテクニックということで、2テーブルを比較するときはExcelでIF関数を使うと良い理由を解説していきます。 ぜひ、やってみてください。 まずは比較したいデータセット2つをExce …

【SAS】DROPはデータセットから変数を削除する

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

【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その2

今回もTRANSPOSEについて解説します。 前回は縦持ち⇒横持ちにする流れで解説してきました。 【SAS】TRANSPOSEは縦持ち、横持ちを変換できる。その1 今回は横持ち ⇒ 縦持ちの流れに沿っ …