MySql-联合查询1(表连接查询)

发布时间:2026/9/23 3:16:50

MySql-联合查询1(表连接查询) 联合查询是联合多个表进行查询那为什么要联合多个表进行查询呢在三大范式设计数据库时要把表进行拆分是为了消除表中字段的依赖关系比如部分函数依赖传递依赖这时会导致查出来的一条数据对于业务来说是不完整的那么我们就可以使用联合查询把关系中的数据全部查出来在一个数据行中显示详细信息。接下来就谈谈联合查询是MySql是如何执行的1 MySql的处理方式1.1 内连接语法aselect 字段 from 表1 别名1, 表2 别名2 where 连接条件 and 其他条件;b select 字段 from 表1 别名1 [inner] join 表2 别名2 on 连接条件 where 其他条件;1.1.1 第一个语法在此之前得知道对哪些表进行联合这里是一个学生表一个班级表1取多张表的笛卡尔积比如对多张表进行笛卡尔积的过程1先从第一张表中取一条记录然后再与第二张表中的第一条记录进行组合生成一条新的记录 2先从第一张表中取一条记录然后再与第二张表中的第二条记录进行组合生成一条新的记录……最后得到的结果就是一个全排列结果集联合查询的语法select *(指定列) from 表名,表名;现在有两张表一个是学生表一个是班级表现在对这两张表进行联合查询通过观察发现有些数据其实是无效的比如第一条class_id不一样那该如何去过滤掉这些无效数据呢2通过连接条件过滤无效数据两个表之间是有主外键关系的只需要判断两个表中主外键字段是否相等即可既然只需要判断是否相等那能不能这样写呢答案是不行的因为class_id在两张表中都存在MySql分不清当前语句中的class_id取自哪张表解决方案通过表名.列名的方式来解决这个问题就可以通过连接条件过滤出正确的结果集id,name,name)3通过指定列查询来精简结果集查询列表中通过表名.列名方式来指定要查询的字段结果是得到了但是每次查询列表中都要写表名太麻烦了那怎么办呢可以通过给表名起别名的方式来简化语句这里把student简化为s,class简化为c1.1.2 第二个语法总之这两个语法任选其一即可确定主外键关系的时候可以通过 desc 表名来查看查询时可以和分组查询联用比如这里只是简单描述一下查询所有同学的总成绩及同学的个人信息1.2 外连接这是之前的表现在要往class表中新增一条数据student表不变当前学生表中的记录并没有一个学生的班级是java110班那如何通过联合查询显示完整信息呢使用内连接是否可以呢答案是不行因为表中并没有java110这个记录1.2.1 右外连接解决办法这是右外连接以join右边的表为基准右边的表的数据都会全部显示出来。而左边的表没有与之匹配的记录全部以null1.2.2 左外连接现在往student 增加一条数据左外连接和右外连接差不多只是这个以左边为基准比如查询哪位同学没有考试成绩因为我没有对应的表只是打个比方所以就不在mysql中创建表并运行了,只写出sql语句这里面就涉及两个表一个student一个score在同学表中有记录在分数表中没有该同学对应的记录连接字段是student_id所以
延伸阅读

更多相关文章

2026/9/23 3:12:28

老照片修复与动态生成全流程:从扫描到AI复活

前阵子帮朋友修一张他奶奶年轻时的黑白照片,本来只是顺手去个划痕、提个清晰度,结果修完发现奶奶的表情是微微侧头的,我一时兴起,用AI生成了一段短视频——画面里她轻轻眨了眨眼,嘴角跟着动了一下。朋友看完愣了好半天…

2026/9/23 3:12:28

再见,SSE!你好,Streamable HTTP:MCP 服务端配置 TaoToken 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/23 3:12:28

Blender新手入门:清空文件、网格编辑与材质设置全攻略

刚接触 Blender 的朋友,最容易卡住的地方往往不是某个高深功能,反而是"打开软件之后不知道下一步该干嘛"。oeasy 这个系列教程我一直推荐给身边想学三维的人,第15集标题里写着"清空文件、网格、材质",看起来都…

2026/9/23 3:12:28

手机号码913数字能量解析与正财磁场应用

1. 项目背景与核心价值解析"913手机号码测吉凶查询"这个看似简单的数字组合分析工具,实际上融合了传统数字能量学理论与现代移动互联网应用场景。我在数字能量分析领域深耕8年,处理过超过2万组号码案例,发现这类特定数字组合&#…

2026/9/23 3:07:28

3个关键点搞懂幻灯片母版是什么,从入门到精通

3个关键点搞懂幻灯片母版是什么,从入门到精通 官方文档翻了三遍还是晕头转向?别急,今天把【幻灯片母版是什么】拆解成三块硬骨头,10分钟从入门到精通。你公司项目里是怎么处理的?欢迎评论。 一句话原理:母版是PPT的DNA…

2026/9/22 10:02:42

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/22 9:07:39

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码