MySQL数据库中的多表查询/连接查询操作

类型:内连接 ,外连接{左外连接,右外连接}

之所以要使用连接查询的意义就是为了,借助数据库可以避免大量的数据重复。

进行连接查询的前提是要求多张表之间存在相关联的字段。

这里指的相关联的字段就是表与表之间存在着关系,也就是说表与表之间需要存在着相同意义的数据。

进行连接查询的前提条件:多张表之间要存在相关联的字段。也就是多张表之间要存在相同意义的数据。

1.数据库内部是如何帮助我们完成多表查询的。

数据库内部会在多表之间进行笛卡尔积连接。

笛卡尔积就是将多张表合并成一张大表,这张大表会包含着多张表中的所有字段名称。

然后将第一张表中的每一条数据与第二张表中的所有数据,进行组合。

比如A与1,2,3进行组合

B与1,2,3进行组合

如上图所示,就是进行连接查询时,多张表之间进行的笛卡尔积连接。

而这张大表的有效信息,就是当部门与部门编号相同的信息,才算是一行有效信息。

2.内连接

1.内连接特征:

只有相关联字段存在相同的值时,才会显示结果。

如上图所示,当你使用内连接去查询数据的时候,查询的结果可能不全。原因是只有当相关联字段存在相同的值时才会显示结果,

2.内连接的语法结果

语法1  {显式内连接语法}

select 表名.字段名称,表名.字段名称,表名.字段名称,from 表名 inner  join 表名 on 相关联字段

示例1:查询学生信息及对应的教师名称(内连接)

如上图所示,select 表名.字段名称,表名.字段名称,表名.字段名称,表名.字段名称,

from 表名  inner join 表名

on 相关联的字段;{这里具体表现为表1.字段名称=表2.字段名称}

建立内连接的前提是了解表的结构,即使用select * from 表名;来查看表的内容。

示例二:查询课程名称及对应的教师名称

如上图所示,select 课程表中的课程名与教师表中的教师名

from 课程表 inner join 教师表 

on 课程表中的关联字段=教师表中的关联字段

示例3:查询学生信息,第一门课程名称,教师名称

select 学生表中的姓名,年龄,课程表中的名称,教师表中的名称

from 学生表 inner join 课程表 inner join 教师表

on 学生表的关联字段=课程表中的关联字段 and 课程表中的关联字段=教师表中的关联字段;

语法2  {隐式内连接语法}

select 表名.字段名称,表名.字段名称,表名.字段名称 from 表名,表名  where  关联字段

查询学生信息,第二门课程

如上图所示,想查询学生第二门课程的信息,就需要将where 学生第二门课程的CID=课程表的CID

在MySQL数据库中什么场景使用语法1{显式内连接语法} 语法2{隐式内连接语法}?

  • 使用场景:几乎所有的新开发项目和维护现代数据库时都推荐使用显式内连接。它提高了代码的可读性和可维护性,特别是当涉及到多表联查时。
  • 总结来说,虽然两种语法都能实现内连接,但出于代码清晰度和行业最佳实践的考虑,推荐优先使用显式内连接(语法1)。只有在特殊场景下,如维护旧代码或个人习惯,才会考虑使用隐式内连接(语法2)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matplotlib latex表格

使用python3环境 import matplotlib.gridspec as gridspec import matplotlib.pyplot as pltimport numpy as np import matplotlib as mpl #mpl.use(pgf)def figsize(scale, nplots 1):fig_width_pt 390.0 # Get this from LaTeX using \the\text…

五种独立成分分析(ICA)

代码原理及流程 代码实现了混合信号的独立成分分析(ICA)过程,主要包括以下几个步骤: 原始语音信号读取与显示:首先读入原始的两个语音信号(music.wav和man.wav),并显示在图中的第一和第二个子图中。混合声…

MacOS使用PhpStorm+Xdebug断点调式

基本环境: MacOS m1 PhpStorm 2024.1 PHP7.4.33 Xdebug v3.1.6 1、php.ini 配置 [xdebug] zend_extension "/opt/homebrew/Cellar/php7.4/7.4.33_6/pecl/20190902/xdebug.so" xdebug.idekey "PHPSTORM" xdebug.c…

基础—SQL—DDL—建表、查表、修改表以及总结

一、DDL—表—创建表与数据类型的设定 (1)要求 根据需求创建表(设计合理的数据类型、长度) 设计一张员工信息表,要求如下: 1、编号(纯数字) 2、员工工号(字符串类型,长度不超过10位) 3、员工姓名(字符串类…

是的,我换logo了!

大家好,我是记得诚。 当你收到推文的时候,会发现记得诚换logo了! 之前是这样的。 现在是这样的。 这个新logo(头像)是2年前在淘宝上请人做的,价值37人民币,但一直没有换上。当时还发了一个朋友…

python纯脚本搬砖DNF之深度学习,工作室适用

声明: 本文章仅作学习交流使用,对产生的任何影响,本人概不负责. 转载请注明出处:https://editor.csdn.net/md?articleId103674748 主要功能 脚本已初步完成,可以上机实战了 1.搬砖研究所、海伯伦(持续更新中) 2.自…

Mysql中表之间的关系

表之间的关系 一对一、多对一(其实就是主从关系,在从表中设置一个外键关联上主表)、多对多关系(需要一个中间表,设置两个外键,分别关联到两个表的主键) 比如订单和商品之间:一个订单…

Spring从零开始学使用系列(四)之@PostConstruct和@PreDestroy注解的使用

如果各位老爷觉得可以,请点赞收藏评论,谢谢啦!! 文章中涉及到的图片均由AI生成 公众号在最下方!!! 目录 1. 介绍 1.1 PostConstruct概述 1.2 PreDestroy概述 2. 基本用法 2.1 注册CommonAnn…

AlexNet论文解析—ImageNet Classification with Deep Convolutional Neural Networks

AlexNet论文解析—ImageNet Classification with Deep Convolutional Neural Networks 2012 研究背景 认识数据集:ImageNet的大规模图像识别挑战赛 LSVRC-2012:ImageNet Large Scale Visual Recoanition Challenge 类别训练数据测试数据图片格式Mnist1…

安装mamba时报错bare_metal_version

原因:缺少cuda118的环境版本,直接安装 nvidia/label/cuda-11.8.0 可解决,代码如下: conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc

复习java5.26

面向对象和面向过程 面向过程:把一个任务分成一个个的步骤,当要执行这个任务的时候,只需要依次调用就行了 面向对象:把构成任务的事件构成一个个的对象,分别设计这些对象(属性和方法)、然后把…

MybatisPlus静态工具Db

前言:在开发的时候,有时Service之间也会相互调用,会出现循环依赖问题,MybatisPlus提供一个静态工具类:Db,其中的一些静态方法与IService中方法签名基本一致,也可以帮助我们实现CRUD功能。 一、Db工具类中常…

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习面试问题,并提供参考的回答及其理论基础&a…

入门五(项目介绍及登录和发布需求)

软件缺陷判定标准 项目中缺陷的管理流程 使用Excel对于缺陷进行管理 使用工具管理缺陷 一、项目背景 传智作为一个IT教育机构,拥有自己开发且实际运营的产品; 将开发和运营的技术作为授课的内容,对于学员而言学到的都是一手的真实案例和…

释放Mac潜能,选择Magic Disk Cleaner for Mac

想要让Mac运行更加流畅、性能更加出色吗?那就选择Magic Disk Cleaner for Mac吧! Magic Disk Cleaner for Mac v2.7.7激活版下载 这款软件是Mac用户的得力助手,它拥有强大的扫描和清理功能,能够迅速找出并删除硬盘上的无用文件和垃…

如何查看哪些组策略应用于你的电脑和用户帐户?这里有详细步骤

如果你希望在电脑上查看所有有效的组策略设置,以下是操作方法。 什么是Windows中的组策略 在Windows世界中,组策略为网络管理员提供了一种将特定设置分配给用户组或计算机组的方法。然后,无论何时组中的用户登录到联网的PC,或无论何时启动组中的PC,都会应用这些设置。 …

谷歌Google广告投放优势和注意事项!

谷歌Google作为全球最大的搜索引擎,谷歌不仅拥有庞大的用户基础,还提供了高度精准的广告投放平台,让广告主能够高效触达目标受众,实现品牌曝光、流量增长乃至销售转化的多重目标,云衔科技以专业服务助力您谷歌Google广…

【MySQL】库的基础操作

🌎库的操作 文章目录: 库的操作 创建删除数据库 数据库编码集和校验集 数据库的增删查改       数据库查找       数据库修改 备份和恢复 查看数据库连接情况 总结 前言:   数据库操作是软件开发中不可或缺的一部分&#xff0…

pod进阶—资源限制以及探针检查

一、资源限制 1.1 资源限制定义: 当定义Pod时可以选择性的为每个容器设定所需要的资源数量。最常见的可设定资源是CPU和内存大小,以及其他类型的资源。 1.2 资源限制request和limit资源约束 ①当为 Pod 中的容器指定了 request 资源时&#x…

透视App投放效果,Xinstall助力精准分析,让每一分投入都物超所值!

在移动互联网时代,App的推广与投放成为了每一个开发者和广告主必须面对的问题。然而,如何精准地掌握投放效果,让每一分投入都物超所值,却是一个令人头疼的难题。今天,我们就来谈谈如何通过Xinstall这个专业的App全渠道…