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

联合查询和合并查询

    • 一.联合查询
      • 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.rhkb.cn/news/196137.html

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

相关文章

MatrixOne 实战系列回顾 | 建模与多租户

本次分享主要介绍MatrixOne建模与多租户相关内容。 1 建模 #1 与MySQL的区别 使用create table语句建表和MySQL建表语句基本相同,也有几点要注意。 MatrixOne暂不支持空间数据类型,其他数据类型在保持与 MySQL 命名一致的情况下,在精度与…

腾讯云轻量4核8G12M带宽服务器租用价格和S5实例报价

腾讯云4核8G服务器优惠价格表,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,阿腾云atengyun.com分享腾讯云4核8G服务器详细配置、优惠价格及限制条件&…

Elasticsearch:运用向量搜索通过图像搜索找到你的小狗

作者:ALEX SALGADO 你是否曾经遇到过这样的情况:你在街上发现了一只丢失的小狗,但不知道它是否有主人? 了解如何使用向量搜索或图像搜索来做到这一点。 通过图像搜索找到你的小狗 您是否曾经遇到过这样的情况:你在街…

VBA如何快速识别Excel单元格中的文本数字

Excel中一种非常特殊的数字,这些数字看似数字,其实是文本格式(下文简称为文本数字),在单元格的左上角会有一个绿色小三角作为标志,如B1:B3单元格。 在编程时为什么需要区分普通数字和文本数字呢&#xff…

什么是Selenium?如何使用Selenium进行自动化测试?

什么是 Selenium? Selenium 是一种开源工具,用于在 Web 浏览器上执行自动化测试(使用任何 Web 浏览器进行 Web 应用程序测试)。   等等,先别激动,让我再次重申一下,Selenium 仅可以测试Web应用…

cvf_使用lora方法增强能力

cvf_使用lora方法增强能力 实验对比图最终代码简介详细解析实验对比图 最终代码 import paddle import numpy as np import pandas as pd from tqdm import tqdmclass FeedFroward(paddle.nn.Layer)

杭州-区块链前瞻性论坛邀请函​

2023密码与安全前瞻性论坛邀请函 生成合法节点或非法节点,测试共识协议

MySQL存储架构

连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个线程中执行。MySQL5.5以后支持了一个API叫线程池插件,可以用少量线程服务大量连接,因此不用每次都新建连接然后销毁。 客户端连接MySQL服务器时候&…

不允许你还没有了解哈希表、哈希桶、哈希冲突的解决,如何避免冲突

✏️✏️✏️今天给各位带来的是哈希桶、哈希冲突方面的知识。 清风的CSDN博客 😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流! 动动你们发财的小手,点…

vscode中Chinese (Simplified)汉化无效解决方法

问题复现 之前已经下载了 Chinese (Simplified)插件并启用了,都是正常的中文简体。有时候打开vscode的时候,会发现汉化失效了,如图: 解决方法 依次点击 扩展(Extensions)— Chinese (Simplified) — 选…

flutter TabBar指示器

第一层tabView import package:jade/configs/PathConfig.dart; import package:jade/customWidget/MyCustomIndicator.dart; importpackage:jade/homePage/promotion/promotionPost/MyPromotionListMainDesc.dart; import package:jade/homePage/promotion/promotionPost/MyPr…

【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Nacos 一、nacos实现配置管理1.1 统一配置管…

Windows11 python3.12 安装pyqt6 pyqt6-tools

Windows11 python3.12 安装pyqt6比较容易,但pyqt6-tools一直安装不上去。出错信息如下: (venv) PS D:\python_project\pyqt6> pip install pyqt6-tools Collecting pyqt6-toolsUsing cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl (29 kB) Collec…

cp: can‘t stat ‘/usr/share/zoneinfo/Asia/Shanghai‘: No such file or directory

目录 问题描述问题分析解决方案容器时区验证 问题描述 使用下面的 Dockerfile 为 youlai-boot 项目制作镜像设置容器时区报错。 # 基础镜像 FROM openjdk:17-jdk-alpine # 时区修改 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo Asia/Sha…

【图数据库实战】HugeGraph架构

一、概述 作为一款通用的图数据库产品,HugeGraph需具备图数据的基本功能,如下图所示。HugeGraph包括三个层次的功能,分别是存储层、计算层和用户接口层。 HugeGraph支持OLTP和OLAP两种图计算类型,其中OLTP实现了Apache TinkerPop3…

深度学习到智能小车(1)深度学习框架

0.前提 最近新开了一门叫机器学习的课程,老师一直在跟我们讲一些有关这方面的知识,告诉我们一定要学好数学,因为数学是算法的基础。我手上的donkeycar刚好也涉及到Keras深度神经网络,所以出于好奇我去图书馆借回了一本叫《Keras深…

DevSeo Studio设置中文界面

安装好DevSeo Studio后默认打开是欢迎页。 左下角Configure点击展开,选择plugins 弹出页面选择“installed”,然后输入chinese,默认是关闭的,点击enable将它启用,然后点击OK。 弹出页面点击“restart”重启即可。

VS中修改解决方案名称和项目名称

如何修改visual studio2019中的项目名 - 知乎 (zhihu.com) 查了很多,还是这个可行。虽然文中说不是最简单的,但在所查找资料中是可行且最简单的。 要点主要是: 1、比如我们复制一个解决方案,最好是带代码哈,也就是添…

2023.11.18 Hadoop之 YARN

1.简介 Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。支持多个数据处理框架&…

Springboot+vue的学生成绩管理系统(有报告),Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的学生成绩管理系统(有报告),Javaee项目,springboot vue前后端分离项目。 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…