news 2026/5/30 1:59:24

MySQL之表的内连接和外连接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL之表的内连接和外连接

内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。

select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
  • 只返回两张表中满足连接条件的交集

  • 只要有一边没匹配上,整行丢弃

我们用例子来理解一下

显示SMITH的名字和部门名称

之前的写法

现在标准写法

外连接

外连接分为左外连接和右外连接

  • 返回主表的所有记录

  • 即使从表没有匹配,也保留主表数据

  • 从表没匹配的部分用NULL填充

-- 建两张表 create table stu (id int, name varchar(30)); -- 学生表 insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono'); create table exam (id int, grade int); -- 成绩表 insert into exam values(1, 56),(2,76),(11, 8);

左外连接就是以左表为主,左表全部保留

select 字段名 from 表名1 left join 表名2 on 连接条件

eg:

查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来

看这个需求很容易理解,学生表是主表


右外连接就是以右表为主,右表全不保留

select 字段 from 表名1 right join 表名2 on 连接条件;

eg:

对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来

exam为主表

列出部门名称和这些部门的员工信息,同时列出没有员工的部门

以部门表为主表(左外连接和右外连接是可以转换的)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 1:56:40

线程池版流水线模式 技术笔记

一、模式核心思想 流水线模式本质是任务分阶段串行处理,把一个完整业务任务拆分成多道独立工序(本例拆分为 TaskA、TaskB、TaskC 三个阶段)。 每个阶段由独立线程池负责消费处理,上一阶段处理完成后,自动把任务提交给下…

作者头像 李华
网站建设 2026/5/30 1:54:25

35岁运维被优化后,我转了网络安全:这行的前景,比你想的更稳

35岁运维被优化后,我转了网络安全:这行的前景,比你想的更稳 一、38 岁运维老周的困境:不是你不够努力,是赛道容不下 “老经验” 了 上周跟老周吃饭,他掏出手机翻着招聘软件叹气:“投了 20 家&…

作者头像 李华
网站建设 2026/5/30 1:54:24

神经形态计算π²架构:突破AI硬件能效瓶颈

1. 神经形态计算的互连革命:π架构深度解析在AI硬件加速器领域,一个长期被忽视的事实正逐渐浮出水面:当系统规模扩展到脑级复杂度时,超过90%的能耗并非来自计算单元,而是消耗在数据传输过程中。传统冯诺伊曼架构中&…

作者头像 李华
网站建设 2026/5/30 1:53:58

开源矢量网络分析仪校准精度挑战与LibreVNA的误差修正解决方案

开源矢量网络分析仪校准精度挑战与LibreVNA的误差修正解决方案 【免费下载链接】LibreVNA 100kHz to 6GHz 2 port USB based VNA 项目地址: https://gitcode.com/gh_mirrors/li/LibreVNA 在射频工程实践中,矢量网络分析仪的校准精度直接决定了测量结果的可靠…

作者头像 李华
网站建设 2026/5/30 1:53:47

告别闪退!Mac Monterey/M1芯片安装AccessClient堡垒机最全避坑指南

Mac全系兼容实战:AccessClient堡垒机安装与闪退终极解决方案每次打开AccessClient准备跳转服务器时,那个熟悉的闪退画面是否让你血压飙升?特别是当你使用的是搭载M1芯片的新款MacBook,或者已经升级到Monterey、Ventura系统时&…

作者头像 李华