sql中INNER JOIN、LEFT JOIN、RIGHT JOIN

INNER JOIN 的作用

  • INNER JOIN 只会将相关联表匹配到的数据进行展示 假设我们有两个表:sys_user和 sys_user_role

    SELECT s1.* from sys_user s1 INNER JOIN sys_user_role s2 on s1.id =

    s2.user_id

    这样只会展示s1.id = s2.user_id相匹配到的数据,其他数据不会展示。

LEFT JOIN作用

  • 返回左表中的所有记录,如果右表中没有匹配,则结果中右表的列会显示为 NULL。

    SELECT * from sys_user s1 LEFT JOIN sys_user_role s2 on s1.id =

    s2.user_id

    以左表sys_user 为主,匹配之后左表数据全部展示,右表sys_user_role

    只展示与左表匹配到的数据,没有匹配到的展示为null

RIGHT JOIN作用

  • 返回右表中的所有记录,如果左表中没有匹配,则结果中左表的列会显示为 NULL。

    SELECT * from sys_user s1 RIGHT JOIN sys_user_role s2 on s1.id =

    s2.user_id

    以右表sys_user_role 为主,匹配之后右表数据全部展示,左表sys_user

    只展示与右表匹配到的数据,没有匹配到的展示为null

FULL JOIN作用

  • 返回两个表中所有的记录,当某一表中没有匹配时,结果中另一表的列会显示为 NULL。
相关推荐
AAA修煤气灶刘哥8 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud12 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术15 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug19 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom19 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*19 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰19 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*19 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring