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】||(!!)は文字列の連結ができる。【結合】

今回は||(!!)について解説します。 /* || */ data data1; Id1=1111; Char1=”AA AA”; output; Id1=2222; Char1=” BBBB”; o …

【SAS】SASで良く使うテクニック。その7 「条件付き書式」~差分があるセルに色を付けたい時~【Excel】

今回はSASで良く使うテクニックということで、データセットのコンペアにおいて、差分があるセルに色を付けたい時ときは「条件付き書式」が役に立つ理由を解説していきます。 (参考:【SAS】SASで良く使う …

【SAS】TODAY()とDATE()はどちらもSAS日付値を取得する。

以下の2記事でtoday()を使ってきました。 【SAS】PUT+DATE,YYMMDDはSAS日付値をフォーマットを変換して表示する 【SAS】YYMMDDの可能性を考える(表示できる日付形式はどこ …

SAS Base Programmingの資格を取りました。試験の流れを解説します。[出題された問題のリークも]

仕事でSASというプログラミング言語を使用してるのですが、 SASの資格を欲しいと思って先日、SASの試験Base Programmingを受けてきました。 2021年内に2回受験をして、 1回目は不 …

【SAS】WHEREステートメントはPRINTプロシージャ内で使用ができる。【IFステートメントは使えない】【SAS Base Programming対策6】

/* where */ data data1; Id1=1111; Id2=1111; Id3=1111; output; Id1=2222; Id2=2222; Id3=2222; output; …