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。
相关推荐
q***78378 小时前
mysql表添加索引
数据库·mysql
翔云1234568 小时前
MySQL 机器重启后,gtid_executed 是如何初始化的
数据库·mysql·adb
JAVA学习通9 小时前
Mysql进阶---存储过程&变量&SQL编程
数据库·mysql
阿里云大数据AI技术9 小时前
朝阳永续基于阿里云 Milvus 构建金融智能投研产品“AI 小二”
数据库·人工智能
百***49009 小时前
Redis-配置文件
数据库·redis·oracle
老纪的技术唠嗑局9 小时前
OceanBase 年度发布会 Hands-on AI Workshop 回顾
数据库
艾体宝IT9 小时前
艾体宝干货 | Redis Python 开发系列#5 高可用与集群部署指南
数据库
3***89199 小时前
开放自己本机的mysql允许别人连接
数据库·mysql·adb
X***C8629 小时前
使用bitnamiredis-sentinel部署Redis 哨兵模式
数据库·redis·sentinel