当前位置:   article > 正文

五种关联查询_a关联b a关联c怎么查

a关联b a关联c怎么查

五种关联查询:

1. 交叉连接(CROSS JOIN)
2. 内连接(INNER JOIN)
3. 外连接(LEFT JOIN/RIGHT JOIN)
4. 联合查询(UNION 与 UNION ALL)
5. 全连接(FULL JOIN)

  • 交叉连接(没有任何关联条件,查询所有表)

     select * form a,b,c 
    
    • 1

    或者 :

     select * from a cross join b cross join c
    
    • 1
  • 内连接(多表中同时符合某种条件的数据记录的集合)

     select * from a,b where a.id = b.id
    
    • 1

    或者 :

     select	* from a inner join b on a.id = b.id
    
    • 1

    分析 :

     select	* from 表1 inner join 表2 on 条件
    
    • 1

    内连接分为三类

    ①等值连接: on a.id = b.id
    
    ②不等值连接 : on a.id > b.id
    
    ③自连接: select * from a as a1 inner join a as a2 on a.id = a2.pid
    
    [自连接就是自己连接自己 条件id和pid]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

INNER JOIN 可以缩写为 JOIN

  • 外连接

    左外连接:

    LEFT OUTER JOIN 缩写 LEFT JOIN

     以左表为主,先查询出左表,按照ON之后关联条件匹配右表,没有匹配到的用NULL填充
    
    • 1

    右外连接:

    RIGHT OUTER JOIN 缩写 RIGHT JOIN

     以右表为主,先查询出右表,按照ON之后关联条件匹配左表,没有匹配到的用NULL填充
    
    • 1
  • 联合查询

     表的数据结构一定要一样,把多个结果集集中到一起,UNION前的结果为基准
    
    • 1

    union 相同的记录行会合并
    union all 不会合并重复的记录行

  • 全连接( 完整外部连接返回左表和右表中的所有行)

    mysql中不支持全连接,可以使用LEFT JOIN 和 UNION 和 RIGHT JOIN 联合使用

     select * from A left join B on A.id = b.id union select * from a right join on a.id = b.id
    
    • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/168776
推荐阅读
相关标签
  

闽ICP备14008679号