zoukankan      html  css  js  c++  java
  • sql关键字 左连接 右连接 外连接 交叉连接 交集 并集 差集 批量更新/删除

    测试表A                          测试表B

         


    1 left join(left outer join)
    --左连接包含左侧表中的所有数据 及按where条件查出的右表中的数据。不存在则显示空值
    select * from A left join B on a.name=b.name 

    2 right join(right outer join)
     select * from A right join B on a.name=b.name
    --右连接与左连接恰好相反

    3 full join (full outer join)
     select * from A full join B on a.name=b.name
    左连接和右连接的合集

    4 inner join (默认情况为inner join)
    --并不以谁为基础,它只显示符合条件的记录
    select * from A inner join B on a.name=b.name

    5 交叉连接  
    不能带参数,是两个表交叉组合的结果
    select * from A cross join B

    6 并集
    求两个表的name字段的并集
    select name from a union (select name from b)

    7 差集
    求两个表的name字段的差集,得出a表中有且b表中无的
    select name from a minus (select name from b)


    8 交集
    求两个表的name字段的交集
    select name from a intersect (select name from b)


    9 交集之外的
    求两个表中除交集之外的所有name值
    select name from a union (select name from b) minus (select name from a intersect (select name from b))

    10 批量更新/删除
    如果表中匹配了一组值的某些条件,则用这组值的部分数据来更新这个表,否则用这组值的数据为这个表新增一条数据
    Merge into A t1 using B t2 on (t1.id=t2.id)
    when matched then
    update set t1.name=t2.name when not matched then
    insert values (t2.id,t2.name)

  • 相关阅读:
    xml模块
    json&pickle&shelve
    C#基础-关于用json给控制台程序传值的坑
    【MediaElement】WPF视频播放器【3】
    【Treeview】遍历本地磁盘
    【WCF】WCF中的InstanceContext与ConcurrencyMode【转】
    C#基础-FileStream实现多线程断点续传
    C#基础-FileStream
    C#基础-out与ref字段
    【Visual Installer】如何提醒用户卸载旧版本软件
  • 原文地址:https://www.cnblogs.com/myparamita/p/2132745.html
Copyright © 2011-2022 走看看