zoukankan      html  css  js  c++  java
  • 关于数据库的左,右,内,外连接,Union和Union all---------笔记

    1.左连接

    select a.filed1,a.filed2,b.filed1
    
    from a (左表)
    
    left join b(右表)
    
    on a.commonfiled = b.commonfiled

    查询思路:按照匹配字段(外键),b表记录与a表记录进行逐一匹配,若有n条匹配,则形成n行。若无匹配,则左表中得记录是全的,即使右表没有匹配的字段存在

    2.右连接

    select a.filed1,a.filed2,b.filed1
    
    from a (左表)
    
    right join b(右表)
    
    on a.commonfiled = b.commonfiled

    查询思路:按照匹配字段(外键),a表记录与b表记录进行逐一匹配,若有n条匹配,则形成n行。若无匹配,则右表中得记录是全的,即使左表没有匹配的字段存在 ()

    3.内连接

    select a.filed1,a.filed2,b.filed1
    
    from a (左表)
    
    inner join b(右表)
    
    on a.commonfiled = b.commonfiled

    查询思路:按照匹配字段(外键)进行逐一匹配,至少有一条匹配,才形成一行,若有n条匹配,则形成n行。(即:外键匹配形成行

    4.全连接

    select a.filed1,a.filed2,b.filed1
    
    from a (左表)
    
    full join b(右表)
    
    on a.commonfiled = b.commonfiled

    查询思路:按照匹配字段(外键)进行逐一匹配,有匹配的则匹配成一行,无匹配的则单独成一行。

    5.交叉连接

    全部匹配。即:生成笛卡尔积连接

     6.Union 和 Union  all

    Union和union all表示把查询的结果集并集起来,而不是交集

    限制: union和union all进行并集的字段必须是同一数据类型

    • union 是去掉重复值 union all不去掉重复值

    union用法

    select a.filed1 from a union b.filed1 from b 
    

    union all 用法

    select a.filed1 from a union all  b.filed1 from b 
    

     

  • 相关阅读:
    golang中将json转成go
    软件升级
    golang 各类型转换
    golang 基础知识6
    golang 基础知识5
    bash resource
    toy
    links
    android abd remove
    YCM
  • 原文地址:https://www.cnblogs.com/nelson-hu/p/6379557.html
Copyright © 2011-2022 走看看