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)

  • 相关阅读:
    ElasticSearch原理
    redis master配置了密码进行主从同步
    redis sentinel 高可用(HA)方案部署,及python应用示例
    Linux Redis集群搭建与集群客户端实现
    字符串倒序
    单链表反转
    【python】面试常考数据结构算法
    面试中的排序算法总结
    Memcached 真的过时了吗?
    Activity生命周期
  • 原文地址:https://www.cnblogs.com/myparamita/p/2132745.html
Copyright © 2011-2022 走看看