zoukankan      html  css  js  c++  java
  • T-SQL备忘(1):表联接

    测试用例表如下:

    1.取2个成员表中的交集(A∩B)

    T-SQL:

    select Member1.Name,Member1.Age from Member1 join Member2 on Member1.Name=Member2.Name
    
    select * from Member1 
    intersect 
    select * from Member2 
    

    2.取2个成员表中的并集(AB)

    T-SQL:

    select * from Member1 
    union
    select * from Member2
    

    3.取在A中不在B中(A-B)

    T-SQL:

    select * from Member1 left join Member2 on Member1.Name=Member2.Name
    where Member2.Name is null
    ---或者使用full join
    select * from Member1 full join Member2 on Member1.Name=Member2.Name
    where Member2.Name is null
    

    4.取在B中不在A中(B-A

    T-SQL:

     

    select * from Member1 right join Member2 on Member1.Name=Member2.Name
    where Member1.Name is null
    ---或者使用full join
    select * from Member1 full join Member2 on Member1.Name=Member2.Name
    where Member1.Name is null
    

    5.full join = 1+3+4

        

    T-SQL:

    select * from Member1 full join Member2 on Member1.Name=Member2.Name
    

    6.except =3 or 4

    T-SQL:

    select * from Member1 
    except
    select * from Member2
    

    7.union all(合并包含重复项) =2+1

    T-SQL:

    select * from Member1 
    union all
    select * from Member2
    

    8.交叉连接 =表A*表B

    T-SQL:

    select * from Member1 cross join Member2
    ---等同于
    select * from Member1,Member2
    select * from Member1  join Member2 on 1=1

    一幅简图更好地理解表联接:

  • 相关阅读:
    POJ 3160 Father Christmas flymouse (tarjan+spfa)
    HDU 1133 Buy the Ticket
    Problem F: [USACO 3.1.6]邮票
    无向图 割点模板 (转载)
    POJ 2117 Electricity (割点)
    HDU 4337 King Arthur's Knights
    Delphi2010中保存UTF8/Unicode编码文件的问题
    Delphi的泛型学习
    关于Ehlib5中的DBGridEh使用问题
    delphi中的命名空间
  • 原文地址:https://www.cnblogs.com/fengchengjushi/p/4418084.html
Copyright © 2011-2022 走看看