SQLを先に修められた方からすると、当たり前なのかもしれませんが、、
options msglevel=i;
data Q1(index=(XY=(X Y)));
do X=1 to 10;
do Y='A','B','C';
output;
end;
end;
run;
data Q2(index=(XY=(X Y)));
X=1;Y='C';Z=100;output;
X=6;Y='A';Z=200;output;
X=8;Y='B';Z=300;output;
X=9;Y='D';Z=400;output;
run;
proc sql noprint;
create table A1 as
select Q1.X,Q1.Y
from Q1 inner join Q2 on Q1.X=Q2.X and Q1.Y=Q2.Y
;
quit;
を実行するとログは
となり、結合にインデックスが利用されていることがわかります。
joinも、内部的には直積からの抽出なのでwhere句と同じ扱いということですよね??
0 件のコメント:
コメントを投稿