MySQL 内连接、外连接、全连接

连接查询用于多表关联查询,连接方式不同,查询重点不同。

内连接

  • 作用:查询多表之间交集部分数据

  • 关键词:inner join

  • 可简写为:join,即 inner join = join

  • 图示:

    image-20230228151448811

左外连接

  • 作用:表 A 左连接表 B,以左表 A 为主查询,关联查询表 B,查询左表 A 所有数据,以及表 A 和表 B 交集部分数据。

  • 关键词:left outer join

  • 可简写为:left join,即 left outer join = left join

  • 图示:

    image-20230228152012353

右外连接

  • 作用:表 A 右连接表 B,以右表 B 为主查询,关联查询表 A,查询右表 B 所有数据,以及表 A 和表 B 交集部分数据。

  • 关键词:right outer join

  • 可简写为:right join,即 right outer join = right join

  • 图示:

    image-20230228152305601

全连接

mysql 不支持 full join ,用 union 代替。

  • 作用:联合查询,数据拼接

  • 关键词:union(忽略重复值) 或 union all(不忽略重复值)

  • 图示:

    image-20230228152519004

  • SQL 示例:

    -- 忽略重复值
    SELECT column_name FROM table1
    UNION
    SELECT column_name FROM table2
    
    -- 不忽略重复值
    SELECT column_name FROM table1
    UNION ALL
    SELECT column_name FROM table2
    
posted @ 2023-02-28 15:36  luis林  阅读(200)  评论(0编辑  收藏  举报