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
相关推荐
嘘神秘用8 小时前
布:AI 驱动的 Redis 客户端,更快、更直观
数据库·人工智能·redis
东北小狐狸-Hellxz10 小时前
Redis 哨兵搭建+ACL权限控制
数据库·redis
研究员子楚11 小时前
GEO行业发展标准体系白皮书V2.0-第09卷 · 适配篇:硅基主权伦理宪章与行业适配宣言
数据库·人工智能·geo
l1340620823513 小时前
鸿蒙实战:RDB 数据库设计与 DatabaseService
数据库·华为·harmonyos·鸿蒙系统
山峰哥13 小时前
数据库工程与索引策略实战指南‌
服务器·数据库·sql·oracle·深度优先
谙忆13 小时前
图片版权保护工程实战:明水印、盲水印(DCT隐写)、Referer防盗链与签名URL怎么落地
数据库
KaMeidebaby13 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
xfhuangfu13 小时前
19c CDB架构下的数据库启动和停止
数据库·架构
神道君天下14 小时前
填充与积累:积分与面积的可视化
数据库·oracle
爱折腾的小黑牛14 小时前
小程序云开发数据模型设计:礼账系统的三表结构
数据库·架构