当前位置: 首页 > news >正文

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为主表

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

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

http://www.jsqmd.com/news/913336/

相关文章:

  • “月薪1万,副业2万“:2026年程序员靠什么破局?
  • 从卖工具到跑生意:创客匠人SaaS系统正在改变知识变现的底层逻辑
  • 第17篇 Docker Compose 进阶实战:多 Compose 文件与环境覆盖
  • C51双数据指针性能优化实战指南
  • 别再重启电脑了!Windows 11下dwm.exe内存飙升,试试更新Intel核显驱动(附详细步骤)
  • 近数据处理架构的内存瓶颈与优化实践
  • 别再只盯着困惑度了!用Python实战LDA主题模型,手把手教你用主题一致性找到最佳主题数
  • 基于Arduino与超声波传感器的智能停车辅助系统DIY指南
  • 【限时解密】Lindy 23.2+版本隐藏功能:动态租期重算引擎与IFRS 16/ASC 842双准则自动适配器(仅开放至Q3末)
  • 深圳正规移民公司有哪些?实力强资质齐全机构推荐清单
  • 阿里巴巴与南京大学联手:给AI图像生成模型换上“智能神经网络“
  • 宇视VM易用性推宣—相机报表导出
  • 格式排版也能 “躺平”?okbiye 论文格式神器,让你和几十页格式指南说再见
  • Fedora 38/39 上搞定 NVIDIA 550 驱动 + Wayland:告别卡顿,拥抱新显示协议
  • 别再浪费硬盘了!用Ubuntu的mdadm组RAID 0,榨干旧硬盘性能当高速缓存盘
  • OpenCV 4.x时代,SIFT专利过期后如何用Python轻松拼接两张照片(附完整代码)
  • 南开大学与阿里巴巴联手破解AI“视而不见“难题
  • Keil µVision中配置GNU GCC工具链的完整指南
  • 网络安全靶场-服务器被hacker入侵了,看看他给你留下了什么2
  • 别再手动删点了!用Python的RDP算法5分钟搞定轨迹数据简化(附完整代码)
  • 矫平机用着用着就出问题?这几类常见故障你该提前了解
  • 网安圈的“世界杯”!一文讲透传说中的“护网行动”
  • 情感提示(Emotion Prompting)的原理是什么?“深呼吸“这类提示为什么有效?
  • 避坑指南:在PyCharm里给BlenderProc2脚本打断点调试的正确姿势(附远程调试配置)
  • 零基础学 PLC,千万不要一开始就报名,不想采坑必看
  • 如何通过Atmosphere大气层系统为你的Switch解锁终极性能
  • 手把手教你“拆解”一个Linux驱动模块(.ko文件):从符号表、编译参数到依赖关系全解析
  • 港中大与MiniMax联手破解AI图像描述的“说多错多、说少漏多“困局
  • C++初阶 模版进阶
  • 新手避坑指南:Ubuntu换源后 apt update 还是慢?可能是这5个原因(附排查命令)