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。
相关推荐
wu_yi_min15 分钟前
Spring Boot 日志:项目的“行车记录仪”
java·数据库·spring boot
如意机反光镜裸33 分钟前
如何批量导入竖版Excel表到数据库
数据库·excel
深蓝海拓34 分钟前
Pyside6(PyQT5)的QSqlQueryModel的常用方法
数据库
宁静致远20211 小时前
Qt u盘自动升级软件
数据库·qt·嵌入式linux开发
记得开心一点嘛2 小时前
Redis --- 分布式锁的使用
数据库·redis·分布式
weixin_307779133 小时前
设计转换Apache Hive的HQL语句为Snowflake SQL语句的Python程序方法
数据仓库·hive·python·sql
Elastic 中国社区官方博客3 小时前
Elasticsearch:如何搜索含有复合词的语言
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
青草地溪水旁3 小时前
mysql_init和mysql_real_connect的形象化认识
数据库·mysql
自不量力的A同学4 小时前
MySQL 9.2.0 的功能
数据库·mysql