SQL中的LEFT JOIN、RIGHT JOIN和INNER JOIN

在SQL中,JOIN操作是连接两个或多个数据库表,并根据两个表之间的共同列(通常是主键和外键)返回数据的重要方法。其中,LEFT JOIN(左连接)、RIGHT JOIN(右连接)和INNER JOIN(内连接)是最常用的三种JOIN类型。下面我们将详细介绍这三种连接方式的原理、语法以及使用示例。

一、LEFT JOIN(左连接)

定义

LEFT JOIN(左连接)返回左表(LEFT JOIN语句中指定的第一个表)的所有行,即使右表(第二个表)中没有匹配的行。如果右表中没有匹配的行,则结果中右表的部分将包含NULL值。

复制代码
SELECT * FROM student s LEFT JOIN class c on s.c_num = c.id

二、RIGHT JOIN(右连接)

定义

RIGHT JOIN(右连接)返回右表(RIGHT JOIN语句中指定的第二个表)的所有行,即使左表(第一个表)中没有匹配的行。如果左表中没有匹配的行,则结果中左表的部分将包含NULL值。

给班级表添加一个id=5,name=五班的数据

然后执行下面的sql

复制代码
SELECT * FROM student s RIGHT JOIN class c on s.c_num = c.id

三、INNER JOIN(内连接)

定义

INNER JOIN(内连接)返回两个表中都满足连接条件的行。如果某个行在一个表中存在而在另一个表中不存在,则该行不会出现在结果集中。

复制代码
SELECT * FROM student s INNER JOIN class c on s.c_num = c.id
相关推荐
阿里云大数据AI技术28 分钟前
鹰角网络基于阿里云EMR Serverless StarRocks的实时分析工程实践
数据库·数据分析
久笙&42 分钟前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python·架构
武昌库里写JAVA1 小时前
使用 Java 开发 Android 应用:Kotlin 与 Java 的混合编程
java·vue.js·spring boot·sql·学习
码luffyliu1 小时前
MySQL:MVCC机制及其在Java秋招中的高频考点
java·数据库·mysql·事务·并发·mvcc
水涵幽树1 小时前
MySQL 时间筛选避坑指南:为什么格式化字符串比较会出错?
数据库·后端·sql·mysql·database
PythonicCC1 小时前
Django中的MVC和MVT模式
数据库·django·mvc
funfan05172 小时前
在IDEA中DEBUG调试时查看MyBatis-Plus动态生成的SQL语句
sql·intellij-idea·mybatis
AI 嗯啦4 小时前
SQL详细语法教程(七)核心优化
数据库·人工智能·sql
ClouGence5 小时前
三步搞定!GaussDB 实时数据入仓
数据库·后端
鼠鼠我捏,要死了捏6 小时前
生产环境MongoDB分片策略优化与故障排查实战经验分享
数据库·mongodb·分片