【MySQL】表连接
一、为什么要学习
因为不合理的使用连接会导致慢查询
二、什么是连接
参与连接的表叫做 连接表, 连接就是把 各个连接表 进行的组合 (笛卡儿积)加入结果集并返回
三、连接查询
如何只是对表进行大量的连接,笛卡儿积作用得到的结果量是巨大的 (乘法)。所有我们需要给连接表进行合理的过滤,选出我们需要的数据 。根据过滤方式,将连接表可划分为:
- 驱动表
- 被驱动表
拿着从驱动表中过滤得到的数据结果去与被驱动表匹配 (划分驱动表和被驱动表的方式)
四、外连接
1. 为什么需要
驱动表中的记录在被驱动表中不存在,但是要求我们也要显示出来,这时我们使用普通的连接(内连接)就不行了, 所以需要外连接 。
例子: 我们需要选出所有学生的线代成绩给线代老师看,要求包含所有学生,缺考的路人乙的成绩显示为 null 。

这时,我们使用普通的内连接(如下图)就不能完成了,需要使用外连接 。

2. 外连接分类
2.1 左外连接
示例 : 选出所有学生的线代成绩给线代老师看,要求包含所有学生,缺考的路人乙的成绩显示为 null 。
select Student.number, name, scores
from Student left join Score
on
Student.number = Score.number and Score.subject = "线代";

2.2 右外连接
和左外连接唯一的区别就是,驱动表在右面
3 ON 和 Where 过滤的区别
ON 是专门为外连接场景提出的, 内连接中的 ON 和 Where 是等价的 。正常情况下,我们的外连接会把驱动表中的所有记录留下, 但是啊啊啊啊 , 有时候我们也不想全部留下鸭,我们也想选择一些有用的留下,这时就可以使用 ON 语句对驱动表中的数据进行过滤 —— ON 的过滤条件叫做连接条件。
注: 当使用外连接时用 where 过滤会报错
五、连接原理
1. 循环嵌套
2. 使用索引加快
相关文章:
【MySQL】表连接
一、为什么要学习 因为不合理的使用连接会导致慢查询 二、什么是连接 参与连接的表叫做 连接表, 连接就是把 各个连接表 进行的组合 (笛卡儿积)加入结果集并返回 三、连接查询 如何只是对表进行大量的连接,笛卡儿积作用得到的…...
2023湖南省“楚怡杯”职业技能大赛“网络安全” 项目比赛任务书
2023湖南省“楚怡杯”职业技能大赛“网络安全” 项目比赛任务书2023安徽省“中银杯”职业技能大赛“网络安全” 项目比赛任务书A模块基础设施设置/安全加固(200分)A-1:登录安全加固(Windows, Linux)A-2:Ngi…...
Android应用启动优化笔记整理
应用启动相关流程与优化 应用启动主要涉及SystemServer进程 和 app进程。 SystemServer进程负责app进程创建和管理、窗口的创建和管理(StartingWindow 和 AppWindow)、应用的启动流程调度等。 App进程被创建后,进行一系列进程初始化、组件初…...
图像bytes字节串二进制转十六进制及bytes转为图像
目录前言正文二进制与十六进制的bytes互转读取bytes为图像法1:直接写入f.read的结果法2: 转换为PIL或Numpy前言 参考: 8. python基础之基础数据类型–bytes - CSDN python 16进制与图片互转 - CSDN 正文 二进制与十六进制的bytes互转 bytes保存的是原始的字节(二…...
信息安全与数学基础-笔记-②同余
知识目录同余完全剩余系剩余类完全剩余系❀简化剩余系❀欧拉函数逆元!欧拉定理 !同余 a,b 两个数字,都模m,当两个数字模m后余的数一样即为同余。 例子: a bq r (mod m),这里的a 和 r 就是同余 ÿ…...
网络安全法
目录正文第一章第二章第三章第四章第五章第六章 法律责任第七章 附则正文 学习网络安全应该知道网络安全法 第一章 总则 第一条: 为了保障网络安全,维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益,促进经济…...
django框架开发部署项目
前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…...
Unity记录1.3-入门-第一阶段总结
文章首发及后续更新:https://mwhls.top/4447.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 摘要:第一阶段的总…...
Linux入门篇-文件管理
简介 简单的文件管理。 ⽂件内容的查看 ⽂本⽂件内容的查看 cat ⽂本⽂件的path1 ⽂本⽂件的path2 head ⽂本⽂件的path ,显示⽂件的前10⾏内容 head -n 5 ⽂本⽂件的path , 显示⽂件的前5⾏内容 head -5 等于head -n 5tail ⽂本⽂件的path, 显示⽂件的后10⾏内容…...
如何从错误中成长?
在上一篇文章“技术人的犯错成本”里,我和你聊了技术人可能会犯的各式各样的错误,也举了很多例子,说明了技术人犯错的成本。在竞争激烈的互联网时代,试错当然是好事,但了解错误成本,避免不应该犯的错误&…...
谈谈一个程序员的职场心得(真有用)
谈谈一个程序员的职场心得 我会分为三个部分:软件开发,职场协作和认知成长,每个部分精简成 7 条心得。 软件开发 若无必要,勿增实体。 这是奥卡姆剃刀的定义,所谓剃刀就是法则,是奥卡姆这个英国学者提出来…...
Pytest:一个卓有成效的测试工具
大家都知道,目前最流行的Python单元测试框架有三种,分别是unittest, nose和pytest。其中unittest是Python自带的测试框架,但问题是比较老了,赶不上时代发展了(哈哈哈);nose2定位是带插件的unitt…...
Compose 动画 (三) : AnimatedVisibility 从入门到深入
1. AnimatedVisibility 是什么 AnimatedVisibility可以实现Compose组件的显示和隐藏,并且可以指定显示/隐藏时候的动画效果。(EnterTransition/ExitTransition) 和 animateXxxAsState、animateContentSize、Crossfade、AnimatedContent 这几个API一起,都…...
网络基础(二)
目录 应用层 再谈 "协议" 协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢? 为什么要转换呢? 如果我们将struct message里面…...
Java线程知识点总结
文章目录Java 线程基础线程简介什么是进程什么是线程进程和线程的区别创建线程ThreadRunnableCallable、Future、FutureTaskCallableFutureFutureTaskCallable Future FutureTask 示例线程基本用法线程休眠线程礼让终止线程守护线程线程通信wait/notify/notifyAlljoin管道线程…...
数据结构——第三章 栈与队列(4)
队列的应用1.基于队列的医院挂号模拟系统2.队列的运用1.基于队列的医院挂号模拟系统 代码实现分享 2.队列的运用 问题描述:某运动会设立N个比赛项目,每个运动成员可以参加1~3个项目。试问如何安排比赛日程,既可以使同一运动员参加的项目不…...
华为机试HJ73-计算日期到天数转换
HJ73 计算日期到天数转换 题目描述: 描述 根据输入的日期,计算是这一年的第几天。 保证年份为4位数且日期合法。 进阶:时间复杂度:O(n) ,空间复杂度:O(1) 输入描述: 输入一行,每行…...
【阅读笔记】你不知道的JavaScript--this与对象2
目录this默认绑定隐式绑定隐式丢失显示绑定API 调用上下文new 绑定this 绑定优先级其余绑定例外对象字面量与对象属性描述符迭代器遍历this 默认绑定 默认绑定适配 独立函数调用 默认绑定 this 指向全局对象; 故直接调用函数,该函数内部的 this 即指向全…...
单板TVS接地不当造成辐射骚扰超标问题分析-EMC
【摘要】 某产品EMC辐射骚扰测试超标,通过近远场扫描配合定位分析,逐步找出骚扰源、传播路径,最终通过修改 PCB 走线切断传播路径解决此问题。 1 故障现象 某产品在进行 EMC 研发摸底测试时发现,整机辐射骚扰垂直方向测试超标&a…...
用Python Flask为女朋友做一个简单的网站(附可运行的源码)
🌟所属专栏:献给榕榕🐔作者简介:rchjr——五带信管菜只因一枚😮前言:该专栏系为女友准备的,里面会不定时发一些讨好她的技术作品,感兴趣的小伙伴可以关注一下~👉文章简介…...
SEO_掌握这5个SEO技巧,让流量持续增长
SEO技巧:让你的网站流量持续增长的5个关键策略 在当今数字化时代,网站流量的稳定增长对于企业的成功至关重要。搜索引擎优化(SEO)是提高网站流量的核心手段之一。掌握一些关键的SEO技巧,不仅可以帮助你在搜索结果中获…...
OpenCV直线检测避坑指南:HoughLinesP参数调优实战(Python版)
OpenCV直线检测避坑指南:HoughLinesP参数调优实战(Python版) 在计算机视觉项目中,直线检测往往是基础却关键的一环。无论是自动驾驶中的车道线识别,还是工业质检中的零件尺寸测量,亦或是文档扫描应用中的表…...
突破企业AI应用开发瓶颈:Awesome-Dify-Workflow无代码解决方案深度剖析
突破企业AI应用开发瓶颈:Awesome-Dify-Workflow无代码解决方案深度剖析 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/…...
TVA在汽车零部件焊接点检测中的实操启示录(3)
TVA系统在汽车零部件焊接点检测的落地,并非简单的“设备安装调试”,而是一个涉及流程优化、人员适配、技术衔接的系统工程。不少企业技术主管因忽视落地全流程管控,出现“系统安装后无法正常运行”“员工不会操作”“检测流程与生产流程脱节”…...
CLIProxyAPI + OpenCode
LIProxyAPI一键安装,# https://help.router-for.me/cn/introduction/quick-start.html curl -fsSL https://raw.githubusercontent.com/brokechubb/cliproxyapi-installer/refs/heads/master/cliproxyapi-installer | bashGo 代码 🤔,有环境直接源码编译…...
5G时代下,MEC如何让无人驾驶不再‘卡顿’?——边缘计算实战解析
5G时代下,MEC如何让无人驾驶不再‘卡顿’?——边缘计算实战解析 当一辆无人驾驶汽车以60公里时速行驶时,每100毫秒的延迟就会导致1.67米的制动距离差异。这正是边缘计算技术(MEC)在智能交通领域大显身手的核心场景——…...
ESP32开发环境搭建避坑指南:VScode+ESP-IDF 5.0保姆级教程(Windows版)
ESP32开发环境搭建避坑指南:VScodeESP-IDF 5.0保姆级教程(Windows版) 刚接触ESP32开发的Windows用户,往往在环境搭建阶段就会遇到各种"坑"。本文将从实际踩坑经验出发,手把手带你避开那些常见的陷阱…...
OpenClaw人人养虾:自动化故障排查
本指南汇总了 OpenClaw 各自动化模块(Cron、Hooks、Webhooks、Polls)的常见故障及排查步骤。遇到自动化任务异常时,请按照以下分类逐步排查。通用诊断命令在深入排查之前,先运行以下命令获取全局状态:# 查看 Gateway 运…...
AutoHotkey-v1.0:Windows自动化效率革命的极简解决方案
AutoHotkey-v1.0:Windows自动化效率革命的极简解决方案 【免费下载链接】AutoHotkey-v1.0 AutoHotkey is a powerful and easy to use scripting language for desktop automation on Windows. 项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey-v1.0 …...
GIS数据处理避坑指南:如何一键批量转换KMZ/KML并保留所有字段(附工具下载)
GIS数据处理实战:KMZ/KML批量转换与属性保留全流程解析 在GIS数据处理工作中,KMZ和KML格式的批量转换是一个高频需求,但许多用户在实际操作中常遇到属性丢失、坐标系错乱等问题。我曾在一个城市交通规划项目中,因为转换后的属性字…...
