SQL进阶:多表查询

在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据

注意,合并后的数据也是,也有的概念,只不过一般存储在内存中。

由于集合操作和连接对比学习更便于记忆,所以这里我们也说一下集合操作

辅助表创建

为了更贴合具体业务场景,前面我们已经建立了人员表和课程表,这里我们建立一张选课表。

CREATE TABLE `course_selections` (`selection_id` INT NOT NULL,`student_id` INT NOT NULL,`course_id` INT NOT NULL,PRIMARY KEY (`selection_id`),FOREIGN KEY (`course_id`) REFERENCES `courses` (`course_id`)
);

插入部分数据

-- 示例:学生1选择了课程1,学生2选择了课程3
INSERT INTO `course_selections` (`selection_id`, `student_id`, `course_id`) VALUES
(1, 1, 1),
(2, 2, 3);

连接的类型

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

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

相关文章

jQuery 实现带手柄自由调整页面大小的功能

在https://blog.csdn.net/qq_44327851/article/details/135006421文章中提到了用纯JavaScript实现自由调整页面大小的功能,其中有基础版和优化版,优化版通过添加手柄解决了基础版在调整页面大小的时候不够灵活的问题,其实解决不够灵活的问题还…

git首次使用--去公司第一次拉取

文章目录 一, 在企业中首次拉取项目二,提交项目1. 提交----新添加的文件2. 将分支上的代码同步到master3. 提交----更改后的文件 三,常见问题1. Git Pull Failed 提示:以下是本篇文章正文内容,下面案例可供参考 一&am…

固定效应模型-以stata为工具

固定效应模型-以stata为工具 文章目录 1.固定效应模型2. 模型原理3. `stata`代码实现1.固定效应模型 固定效应模型(Fixed Effects Model)是一种面板数据分析方法,通过引入个体固定效应来控制个体间的异质性,并更准确地估计解释变量对因变量的影响。它在许多经济、社会科学…

(五)Python 垃圾回收机制

一、垃圾回收的工作原理 Python的垃圾回收机制是自动的,负责管理程序中的内存。它基于两种主要技术:引用计数和循环引用检测器。 引用计数 每当一个对象被引用时,Python会增加该对象的引用计数;每当一个对象不再被引用时&#…

qt项目-《图像标注软件》源码阅读笔记-类图

目录 1. 开源项目链接 2. 项目界面 3. 项目类图 3.1 形状的绘制及形状的存储 3.2 主窗口中心组件的界面管理 3.3 Command负责实现撤销和重做功能 3.4 其他类 3.5 枚举 3.5.1 Status 主窗口的状态变量 3.5.2 Mode 主窗口模式状态变量 3.5.3 shapeStatus 中心组件状态…

josef约瑟 电流继电器 RL-D1 电压AC220V 整定范围0-9.99AAC

系列型号 RL-D1型电流继电器; RL-D2型电流继电器; 基本参数 RL-D系列电流继电器用于发电机、变压器和输电线的过负荷和短路保护装置中作为启动元件。本继电器为集成电路型继电器,精度高、功耗小、动作时间快, 返回系数高、整定…

AndroidStudio无法新建aidl文件解决办法

我用的 AS 版本是 Android Studio Giraffe | 2022.3.1 Build #AI-223.8836.35.2231.10406996, built on June 29, 2023 右键新建 aidl 文件, 提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file 解决办法 修改 app 的 build.…

03_排序

03_排序 一、简单排序Comparable接口介绍需求: 冒泡排序排序原理:冒泡排序API设计: 选择排序排序原理:选择排序API设计:选择排序的时间复杂度分析: 插入排序需求:排序原理:插入排序A…

三菱人机交互GT Designer的安装

今天,与小编一起来学习三菱的GT Designer软件,下面就是小编记录的软件查找,安装的全过程,希望对你学习三菱有帮助。 目录 安装 选择官网下载安装包 解压安装包进行安装 创建一个工程 安装 选择官网下载安装包 三菱(中…

如何在linux安装软件

一.安装种类 1.编译安装:灵活性高,难度较大, 可以安装新版本 2.rpm安装:查软件信息,是否安装,文件列表 3.yum:是rpm的升级版本,解决rpm的弊端 rpm安装: 安装软件的时…

【架构】ServerLess

文章目录 概述什么是serverless无服务与传统模式架构区别serverless优缺点使用serverless的应用场景有哪些“无服务器”搭建网站Serverless的落地案例来源 概述 架构 单体(三层架构)微服务分布式ServerLess 什么是serverless无服务 serverless中文的…

36.MYSQL的外键(foreign key)

外键(Foreign Key)是关系数据库中的一种约束,用于建立表与表之间的关联关系。外键定义了两个表之间的从属关系,它指向另一个表中的主键,用于维护数据的完整性和一致性。 外键分为两个角色:主表和从表。主表…

VirtualBox虚拟机使用USB3.0网卡与开发板通信

因为我的笔记本没有带网口,所以我使用的是USB网卡。我按照网上其他人发的“VirtualBox与开发板、主机相互ping通”文章中提到的方法,进行网络设置后发现仍然无法实现Ubuntu虚拟机与主机和Linux开发板相互ping通。 仔细回想以前Ubuntu虚拟机使用USB读卡器…

用户表格及筛选表单配置 - PC通用管理模块(1)

用户表格及筛选表单配置 - PC通用管理模块(1) 多八多AiIDE - 用户管理页面配置教程 第一课:基础查询配置 目标 配置基础的PC端通用管理模块。添加前端自定义组件以显示管理页面。配置列表表格字段。配置筛选表单。 步骤 1. 注册和新建应用 访问多八多AiIDE平台…

Docker - 镜像 | 容器 日常开发常用指令 + 演示(一文通关)

目录 Docker 开发常用指令汇总 辅助命令 docker version docker info docker --help 镜像命令 查看镜像信息 下载镜像 搜索镜像 删除镜像 容器命令 查看运行中的容器 运行容器 停止、启动、重启、暂停、恢复容器 杀死容器 删除容器 查看容器日志 进入容器内部…

SpringSecurity【3】之授权

继续昨天的认证,今天来分析 在Spring Security中,授权是指对用户访问系统资源的限制。Spring Security提供了多种授权方式,包括基于角色的授权、基于表达式的授权、注解授权等。 基于角色的授权是指通过为用户分配不同的角色来限制其访问系统…

四、UART_阻塞发送中断接收

1、开发环境 (1)Keil MDK: V5.38.0.0 (2)MCU: mm320163D7P 2、实验目的&原理图 2.1、实验目的 (1)上位机串口助手给MCU发送信息,MCU串口通过通过串口助手接收后,将接收到的内容通过串口助手发送到上位机。 (2)串口在whil循环中每隔1秒发送一次…

Java中如何优雅地根治null值引起的Bug问题

1. Java对象为null会引发的问题 NullPointerException:当你尝试调用或访问一个null对象的属性或方法时,Java会抛出NullPointerException异常。例如,如果你有一个名为person的变量,它被设置为null,然后你尝试调用perso…

【大语言模型】Transformer原理以及运行机制

目录 参考资料 Transformer 是一种序列到序列(Sequence-to-Sequence)的模型,用于处理自然语言处理任务。它是由谷歌公司提出的一种基于注意力机制的神经网络模型,被广泛应用于机器翻译、问答系统、文本摘要、对话生成等任务。 T…

蓝桥杯2020年5月青少组Python程序设计国赛真题

1、 上边是一个算法流程图,最后输出的b的值是() A.377 B.987 C.1597 D.2584 2、 3、如果整个整数X本身是完全平方数,同时它的每一位数字也都是完全平方数我们就称X 是完美平方数。前几个完美平方数是0、1、4、9、49、100、144......即第1个完美平方数是0,第2个是 1,第3个…