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
相关推荐
qq_3806191627 分钟前
html如何查看windows
jvm·数据库·python
爱学习的小邓同学32 分钟前
MySQL --- MySQL数据库基础
数据库·mysql
wgzrmlrm741 小时前
如何加固SQL环境部署_删除默认安装的示例数据库
jvm·数据库·python
spencer_tseng1 小时前
dameng CREATE USER
sql·dameng
雨墨✘2 小时前
golang如何实现设备指纹识别_golang设备指纹识别实现详解
jvm·数据库·python
程序员大辉2 小时前
没想到!一直要开会员的Navicat 终于有免费版了
数据库
数厘2 小时前
2.15 sql基础查询(SELECT、FROM、字段别名、常量与表达式)
数据库·sql·oracle
可观测性用观测云2 小时前
观测云数据转发和存档最佳实践
数据库
披着羊皮不是狼3 小时前
(7)为 RAG 系统接入 Redis Stack 实现向量持久化
数据库·redis·缓存
SelectDB3 小时前
基于 SelectDB 实现 Hive 数据湖统一分析:洋钱罐全球一体化探索分析平台升级实践
大数据·数据库·数据分析