Mysql中的进阶增删查改操作(二)

news2025/1/10 11:41:19

联合查询和合并查询

    • 一.联合查询
      • 1.内连接
      • 2.外链接
        • 2.1左外连接
        • 2.2右外连接
      • 3.自连接
      • 4.子查询
      • 5.合并查询

一.联合查询

步骤
1.进行笛卡尔积
2.列出连接条件
3.根据需求再列出其他条件
4.针对列进行精简(可以使用聚合函数)
我们先搭建一个多表查询的框架
在这里插入图片描述
这样一个多表查询就搭建出来了,下面我们根据某些查找条件来写出相应的表.

1.内连接

我们在写多表查询的时候要严格遵守4个步骤

一. 查询许仙同学的成绩
1.进行笛卡尔积
在这里插入图片描述
2.连接条件
我们在表中可以发现 student_id和id可以作为连接条件
在这里插入图片描述
(3)根据需要补充其他条件

查询许仙的成绩,我们就要把许仙的名字突出出来

在这里插入图片描述
(4)根据列进行精简
在这里插入图片描述
二.查询所有同学的总成绩,及同学的个人信息
(1)进行笛卡尔积
在这里插入图片描述
(2)连接条件

在这里插入图片描述
(3)根据聚合函数来计算总成绩
在这里插入图片描述
三.查询所有同学的成绩,及同学的个人信息

查询同学信息和单科成绩,必须要有课程名,所以就涉及到了三张表,student,course,score.

(1)进行笛卡尔积
在这里插入图片描述
(2) 连接条件

三张表,就需要两个连接条件来进行连接,我们可以发现,score表中,有student_id和course_id,我们就可以用score表作为中间媒介来进行连接

在这里插入图片描述
(3)进行精简.
在这里插入图片描述

2.外链接

2.1左外连接

在这里插入图片描述
在这里插入图片描述

2.2右外连接

在这里插入图片描述
在这里插入图片描述

3.自连接

自己和自己连接
显示所有“计算机原理”成绩比“Java”成绩高的成绩信息
在这里插入图片描述
根据条件来进行筛选
在这里插入图片描述
选择课程序号
在这里插入图片描述

4.子查询

多个简单的sql合并为一个复杂的sql

查询与“不想毕业” 同学的同班同学:
在这里插入图片描述
在这里插入图片描述

5.合并查询

案例:查询id小于3,或者名字为“Java”的课程
在这里插入图片描述

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

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

相关文章

第09章 异常处理

一 异常概述 1.1 什么是生活的异常 男主角小明每天开车上班,正常车程1小时。但是,不出意外的话,可能会出现意外。 出现意外,即为异常情况。我们会做相应的处理。如果不处理,到不了公司。处理完了,就可以…

Redis对象的数据结构及其原理汇总

本文首发于公众号:Hunter后端 原文链接:Redis对象的数据结构及其底层实现原理汇总 当我们被问到 Redis 中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。 其实这几种数据类型在 Redis 中都由…

一篇文章让你彻底掌握 shell 语言

一篇文章让你彻底掌握 shell 语言 1. 前序2. shell介绍2.1. 什么是shell2.2. 什么是shell编程2.3. shell解释器3. 基本语法3.1 第一个shell脚本3.2 注释3.3. echo3.3.1 **输出字符串**3.3.2 **输出变量**3.3.3 **启用转义字符**3.3.4 **向文件添加内容**3.3.5 **输出命令执行结…

YOLOv4 学习记录

文章目录 整体概况数据增强Mosaic数据增强 基于CSPNet网络思想的架构改进Mish激活函数CSPNetCSPNet 3 大优势Partial Transition 层 CSPDarkNet (yolo v4 中的CSPDarkNet53) NeckSPPNetPAN-FPN 结构 正负样本匹配损失函数IOU 损失函数IOU的2个问题: GIOU Loss示意图…

9月前三大海外“债主”分别减持美债,”美债还完全吗?

KlipC报道:当地时间11月16日,美国财政部公布了2023年9月的国际资本流动报告(TIC),日本在今年9月继续位居美国国债的最大海外持有国,但所持美国国债环比减少285亿美元,为四个月里首度减持美债,中国大陆仍为美…

OpenCV快速入门:绘制图形、图像金字塔和感兴趣区域

文章目录 前言一、绘制图形1. 绘制直线2. 绘制圆3. 绘制矩形4. 绘制椭圆5. 绘制多边形6. 绘制文字7. 可选参数8. 手工绘制OpenCV的logo 二、图像金字塔1. 高斯金字塔2. 拉普拉斯金字塔 三、感兴趣区域(ROI)数组切片方式OpenCV截取方式 总结 前言 OpenCV…

【powershell】入门和示例

▒ 目录 ▒ 🛫 导读开发环境 1️⃣ 简介用途IDE解决此系统上禁止运行脚本 2️⃣ 语法3️⃣ 实战数据库备份执行循环拷贝文件夹 🛬 文章小结📖 参考资料 🛫 导读 开发环境 版本号描述文章日期2023-11-17操作系统Win10 - 22H21904…

设计模式-备忘录模式-笔记

动机(Motivation) 在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前处于某个点时的状态。如果使用一些公有接口来让其他对象得到对象的状态,便会暴露对象的细节…

ubuntu20.04在docker下运行ros-noetic

经常折腾虚拟机各双系统 , 想着不如把docker利用起来,下面算是一个初学者使用docker运行ros的记录: 1. 安装 使用官方安装脚本自动安装 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh验证是否安装成功 doc…

openRPA开源项目源码编译

最近接触到了一个新的领域——RPA,RPA全称Robotic Process Automation,中文名为机器人流程自动化。RPA可以视作一个数字机器人,它可以通过程序来模拟人与软件系统的交互过程,代替人工将大量重复、有规则的计算机操作自动化&#x…

【Vue配置项】 computed计算属性 | watch侦听属性

目录 前言 computed计算属性 什么是计算属性? Vue的原有属性是什么? 得到的全新的属性是什么? 计算属性怎么用? 计算属性的作用是什么? 为什么说代码执行率高了? computed计算属性中的this指向 co…

CTFd-Web题目动态flag

CTFd-Web题目动态flag 1. dockerhub注册2. dockerfile编写3. 上传到docker仓库4. 靶场配置5. 动态flag实现 1. dockerhub注册 想要把我们的web题目容器上传到docker仓库中,我们需要dockerhub官网注册一个账号,网址如下 https://hub.docker.com/2. dock…

Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin

Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.load.resource.bitmap.CenterCrop import com.bumptech.glide.…

基于ssm+vue设备配件检修管理系统

摘要 随着工业设备的日益复杂和多样化,设备配件的检修管理成为保障生产运行和设备寿命的关键环节。本研究基于SSM框架(Spring Spring MVC MyBatis),致力于设计和实现一套全面、高效的设备配件检修管理系统。该系统不仅能够提高设…

从0开始学习数据结构 C语言实现 1.前篇及二分查找算法

一、前篇 1、什么是数据结构? 数据结构是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系 2、时间复杂度与空间复杂度 大O符号是用于描述函数渐进行为的数学符号 常用函数的增长表 阶乘O(n!) > 指数…

常见面试题-MySQL软删除以及索引结构

为什么 mysql 删了行记录,反而磁盘空间没有减少? 答: 在 mysql 中,当使用 delete 删除数据时,mysql 会将删除的数据标记为已删除,但是并不去磁盘上真正进行删除,而是在需要使用这片存储空间时…

【原创】java+swing+mysql校园活动管理系统设计与实现

前言: 本文介绍了一个校园活动管理系统的设计与实现。该系统基于JavaSwing技术,采用C/S架构,使用Java语言开发,以MySQL作为数据库。系统实现了活动发布、活动报名、活动列表查看等功能,方便了校园活动的发布和管理&am…

如何合理估算 Java 线程池大小

前 言 Java 中的线程创建会产生显著的成本。创建线程会消耗时间,增加请求处理的延迟,并且涉及 JVM 和操作系统的大量工作。为了减轻这些开销,线程池发挥了作用。 在本文中,我们将深入研究确定理想线程池大小的艺术。经过微调的线…

【数据结构】栈与队列的实现

栈与队列是数据结构中重要的结构, 可以用于解决一些题目 模拟实现时可以增加对于这些结构的理解,也可以巩固我们的语言水平,解决某些题目也会有很好的效果 话不多说 目录 栈的实现结构体的定义:初始化栈:压栈:出栈&am…

leetcode栈和队列三剑客

用队列实现栈 队列是先进先出的,而栈是只能在栈顶进行出栈和入栈,那我们这道题要用队列来实现栈的话,这里给的思路是两个队列,因为两个队列的话就可以相互导数据,比如我们来实现这个题目的push函数,我们的栈…