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。
相关推荐
GBASE12 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB3 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶4 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构