zoukankan      html  css  js  c++  java
  • sas中的sql(5) 纵向操作数据集 Except、Intersect、Union、OuterUnion

    SQL进行纵向操作的基本语法

    proc sql;
    select *
    from table1
    set-operator <all> <corr>
    select *
    from table2
    set-operator <all> <corr>
    select *
    from table3;

    1:几种set操作符 Except、Intersect、Union、OuterJoin 

    Except、Intersect、Union三种set符号是默认进行unique处理,当进行unique处理时会进行如下两步操作

    1. PROC SQL eliminates duplicate (nonunique) rows in the tables.
    2. PROC SQL selects the rows that meet the criteria and, where requested, overlays columns.

    当进行的操作同时需要展现unique和duplicate行时则只会进行第二步,忽略第一步。

    Except、Intersect、Union三种set符号对于列的处理时按位置操作,不管对应列的名称(有别名的根据别名来)是否相同。当重叠时,按第一张表的名称命名当前列,如果无名称则以第二张表对应列的名称来命名。

    第一张表和第二张表对应列的数据类型必须相同,否则无法进行操作

    OuterJoin不会覆盖列

    Corr和All关键字

    2.1:Except(默认列对应位置操作)

    默认情况下此过程分两步进行

    1:进行unique,将one中重复的行删除。

    2:对照one two,将one在two中的行删除。

     

    单独加上all关键字

    不进行unique步,保持原样直接筛选。(省略第一步可以提高效率)

    单独加上corr关键字

    按列名进行合并,不同列名全部删除。

    进行unique步骤,再将two在one中的相同行进行删除

    同时加上all和corr

    1:先按列名删减列

    2:不进行unique,保留重复行,然后再在one中删除two中有的行。

    2.2:intersect 语法一样,具体不懂再翻阅资料

    2.3:union 语法一样,具体不懂再翻阅资料 union对非all的数据集会进行排序

    2.4:outer Union(本来就有all的性质,所以无法和all一起使用)

    1:selecting all rows (both unique and nonunique) from both tables

    2:not overlaying columns.

    无关键词情况下的语法

    使用corr关键字

  • 相关阅读:
    SQL 基础题。
    C# 多维数组.
    C# 泛型相关.
    C# 委托数组.
    ActiveX的数字签名
    Asp.Net Html标记替换.感谢个热心人。弄了好久.
    关于TableLayoutPanel里放入控件无法将Dock设为Fill的解决办法
    服务器×××上的MSDTC不可用解决办法
    vista home下运行asp.net2.0 程序环境配置
    麦克风的调节
  • 原文地址:https://www.cnblogs.com/yican/p/4098214.html
Copyright © 2011-2022 走看看