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所以

相关新闻

【华为OD技术面试手撕真题】186、种花问题 | 手撕真题+思路参考+代码解析(C  C++  Java  Python  JS)(0ms)

【华为OD技术面试手撕真题】186、种花问题 | 手撕真题+思路参考+代码解析(C C++ Java Python JS)(0ms)

文章目录 一、题目 🎃题目描述 🎃样例1 二、代码参考 🎈C语言思路 🎉C语言代码 🎈C++语言思路 🎉C++代码 🎈Java语言思路 🎉Java代码 🎈Python语言思路 🎉Python代码 🎈JS语言思路 🎉JS代码 作者:KJ.JK 🍂个人博客首页: KJ.JK 🍂专栏介绍: 本…

2026/8/7 1:11:21 阅读更多 →
ComfyUI-VideoHelperSuite终极指南:如何轻松实现AI视频自动化处理

ComfyUI-VideoHelperSuite终极指南:如何轻松实现AI视频自动化处理

ComfyUI-VideoHelperSuite终极指南:如何轻松实现AI视频自动化处理 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 你是否曾经为AI生成的图像序列无法快…

2026/8/6 12:39:47 阅读更多 →
Spark 核心之 Application 和 Job 原理剖析

Spark 核心之 Application 和 Job 原理剖析

摘要:你是否清楚一个 Spark 应用中到底有几个 Job?为什么 .collect() 会触发 Job 而 .map() 不会?Application、Job、Stage、Task 之间的关系到底是什么?本文从四层执行层级全景图、Action 触发 Job 的源码链路、DAGScheduler 的 …

2026/8/6 23:06:01 阅读更多 →

最新新闻

STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具

STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具

STranslate:Windows 平台的多引擎划词翻译与 OCR 识别工具一款专为 Windows 用户设计的开源划词翻译和 OCR 识别工具,支持多种翻译引擎切换,绿色便携无需安装。📖 背景说明 STranslate 是一款面向 Windows 平台的划词翻译与 OCR 文…

2026/8/7 7:58:35 阅读更多 →
C++ std::pow函数深度解析:从精度陷阱、重载决议到性能优化

C++ std::pow函数深度解析:从精度陷阱、重载决议到性能优化

1. 从一次“诡异”的数值计算说起 最近在帮一个做量化分析的朋友调试一段C代码,问题出在一个看似简单的计算上:他需要计算一个金融模型中的复利因子,公式是 (1 rate) ^ n 。 rate 是一个浮点数,比如 0.05 , n …

2026/8/7 7:58:35 阅读更多 →
TVA-VLA架构:具身智能规模化落地关键支撑(6)

TVA-VLA架构:具身智能规模化落地关键支撑(6)

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“TVA视觉智能体”或“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术框架。它深度融合深度强化学习(DRL)、卷积…

2026/8/7 7:58:35 阅读更多 →
高性价比儿童写字课推荐:【简知科技】性价比优

高性价比儿童写字课推荐:【简知科技】性价比优

引言:随着素质教育持续深化,规范汉字书写日益受到学校与家长重视,越来越多家长开始为孩子挑选系统化线上写字课程。优质写字课程能够帮助儿童纠正错误握笔、坐姿习惯,掌握汉字笔画与结构规律,改善卷面整洁度&#xff0…

2026/8/7 7:58:35 阅读更多 →
打造精简版ADB工具:从核心原理到自动化实战

打造精简版ADB工具:从核心原理到自动化实战

1. 项目概述:为什么我们需要一个“精简版”ADB? 如果你是一名安卓开发者、测试工程师,或者是一个喜欢折腾手机的极客,那么ADB(Android Debug Bridge)这个名字你一定不会陌生。它就像一把连接电脑与安卓设备…

2026/8/7 7:58:35 阅读更多 →
EnTT ECS架构深度解析:C++高性能游戏开发与仿真系统设计指南

EnTT ECS架构深度解析:C++高性能游戏开发与仿真系统设计指南

1. 项目概述:为什么是EnTT? 如果你正在用C做游戏开发、仿真模拟,或者任何需要处理大量动态对象和复杂交互的系统,那么“实体组件系统”这个词你肯定不陌生。ECS架构这几年火得一塌糊涂,从Unity的DOTS到Unreal Engine的…

2026/8/7 7:57:34 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →