SAS合并和逻辑解释

时间:2020-05-14 21:37:53

标签: if-statement merge sas

查询1:

data orders;
        merge items(In=a) address(in=b);
        by id;

        if a and b;
    run;

查询2:

data orders;
        merge items(In=a) address(in=b);
        by id;

        if a ;
    run;

查询3:

 data orders;
            merge items(In=a) address(in=b);
            by id;

            if b;
        run;

您能否解释查询1,2和3正在执行哪个联接?根据if条件

1 个答案:

答案 0 :(得分:0)

从SQL的角度来看,合并不是联接,因为它们对重复键的处理方式不同。但是,您可以想到第一个,其中两个源中的键都必须分别是INNER JOIN,而另外两个中的键分别是LEFT和RIGHT连接。

要执行UNION,您需要使用SET语句而不是MERGE语句。