当前位置: 首页 > article >正文

mysql(十四)

目录

多表查询

1.准备工作

2--创建表格

3--插入数据

2.笛卡尔积查询

3.内连接查询

1--隐式内连接

格式

查询

2--显示内连接(Inner join .. on )

格式

查询

4.外连接查询

1--左外连接查询(LEFT OUTER JOIN .. ON )

格式

查询

2-- 右外连接查询(RIGHT OUTER JOIN .. ON )

格式

查询

5.总结


多表查询

1.准备工作

2--创建表格
-- 创建表格CREATE table class (class_id INT PRIMARY KEY AUTO_INCREMENT,class_name VARCHAR(20)
);
create table student (id INT PRIMARY KEY AUTO_INCREMENT;student_name VARCHAR(30),student_sex char(1),student_info VARCHAR(500),student_class_id int,-- 添加主键约束CONSTRAINT student_class_fk FOREIGN KEY(student_class_id) REFERENCES class(class_id)
);

3--插入数据
-- 插入数据
insert into class VALUES
(null, '一班'),
(null, '二班'),
(null, '三班')
;INSERT into student VALUES
(null, '偷走晚霞的人', '男', '一个学生', 1),
(null, '惜.己', '男', '一个学生', 2),
(null, '小玖', '女', '一个学生', 1),
(null, '张三', '男', '一个学生', 3),
(null, '莉莉', '男', '一个学生', 1),
(null, '雪夜', '男', '一个学生', 2),
(null, '小明', '女', '一个学生', 1),
(null, '小新', '男', '一个学生', 3)
;

2.笛卡尔积查询

select * from 表名1, 表名2, 表名3......

-- 对student表和class表进行笛卡尔积查询
select * from class, student;

可以发现有很多重复的数据。

3.内连接查询

1--隐式内连接

通过where 条件  把 两个表有外键关联的地方进行查询

格式

注意:这里 表1是主表,表二是从表

select * from 表名1, 表名2 where 表名1.主键字段 = 表名2.外键字段

查询

-- 这里是通过有外键关联的字段相等去查询
select * from class, student where class.class_id = student.student_class_id ;

注意:这里可以使用起别名 引用表1和表二。这里不再演示了。

2--显示内连接(Inner join .. on )

格式

select *(或者字段的名字) from 左表 inner Join 右表 on 条件

查询

查询一班 '叫偷走晚霞的人'

-- 查询一班 '叫偷走晚霞的人'select * from class as c INNER JOIN student as s on c.class_id=s.student_class_id WHERE s.student_name = '偷走晚霞的人';

4.外连接查询

1--左外连接查询(LEFT OUTER JOIN .. ON )

左表为准,匹配到正常显示,匹配不到显示为null

格式

select 字段 from  表名1 left outer join 表名2  on 表名1.字段 = 表名2.字段;

查询
-- 左查询 
SELECT * from class c LEFT OUTER JOIN student s ON c.class_id = s.student_class_id; 

 

我这里没有准备为空的数据,这里没有显示到。

2-- 右外连接查询(RIGHT OUTER JOIN .. ON )

右表为准,匹配到正常显示,匹配不到显示为null

格式

select 字段 from  表名1 right outer join 表名2  on 表名1.字段 = 表名2.字段;

查询
-- 右查询 
SELECT * from class c RIGHT  JOIN student s ON c.class_id = s.student_class_id; 

我这里没有准备为空的数据,这里没有显示到。

5.总结

内连接:查询两张表共有部分

左外:左表为准,查询左表中所有的数据与右表中有共有的部分

右外:右表为准,查询右表中所有的数据与左表中有共有的部分

相关文章:

mysql(十四)

目录 多表查询 1.准备工作 2--创建表格 3--插入数据 2.笛卡尔积查询 3.内连接查询 1--隐式内连接 格式 查询 2--显示内连接(Inner join .. on ) 格式 查询 4.外连接查询 1--左外连接查询(LEFT OUTER JOIN .. ON ) 格式 查询 2-- 右…...

工业物联网中的事件驱动采样架构及优化

论文标题 Event-Based Sampling Architecture and Optimization for Industrial Internet of Things 工业物联网中的事件驱动采样架构及优化 作者信息 Tejas Thosani Process Control Systems, Micron Technology Inc., Manassas, USA tthosanimicron.com Andres Prado Esp…...

基于 HT for Web 的轻量化 3D 数字孪生数据中心解决方案

一、技术架构:HT for Web 的核心能力 图扑软件自主研发的 HT for Web 是基于 HTML5 的 2D/3D 可视化引擎,核心技术特性包括: 跨平台渲染:采用 WebGL 技术,支持 PC、移动端浏览器直接访问,兼容主流操作系统…...

JavaScript 性能优化:从入门到实战

在当今快节奏的互联网时代,用户对网页和应用的加载速度与响应性能要求越来越高。JavaScript 作为网页交互的核心语言,其性能表现直接影响用户体验。本文将用简单易懂的语言,带你了解 JavaScript 性能优化的实用技巧,帮助你的代码跑…...

启动metastore时报错MetaException(message:Version information not found in metastore

把hdfs清空重新安装了一下&#xff0c;hive的mysql元数据库删除掉之后重建之后一直启动报错 metastore.RetryingHMSHandler (RetryingHMSHandler.java:<init>(83)) - HMSHandler Fatal error: MetaException(message:Version information not found in metastore.) 后来…...

Spring 中 @Value 注解多实例配置方案详解

引言 在使用 Spring 框架进行开发时&#xff0c;我们经常会使用 Value 注解来注入配置值。然而&#xff0c;当我们需要创建同一个类的多个实例&#xff0c;并且每个实例需要使用不同的配置值时&#xff0c;直接在类中使用 Value 注解就会遇到问题。本文将深入探讨这个问题&…...

MyBatisPlus(1):快速入门

我们知道&#xff0c;MyBatis是一个优秀的操作数据库的持久层框架&#xff08;优秀持久层框架——MyBatis&#xff09;&#xff0c;其基于底层的JDBC进行高度封装&#xff0c;极大的简化了开发。但是对于单表操作而言&#xff0c;我们需要重复地编写简单的CRUD语句。这其实是不…...

京东热点缓存探测系统JDhotkey架构剖析

热点探测使用场景 MySQL 中被频繁访问的数据 &#xff0c;如热门商品的主键 IdRedis 缓存中被密集访问的 Key&#xff0c;如热门商品的详情需要 get goods$Id恶意攻击或机器人爬虫的请求信息&#xff0c;如特定标识的 userId、机器 IP频繁被访问的接口地址&#xff0c;如获取用…...

多国金融市场数据对接指南(印度、印尼、韩国)

一、StockTV多国数据对接概述 StockTV提供统一的API接口规范对接全球金融市场数据&#xff0c;本文重点介绍印度&#xff08;国家ID:14&#xff09;、印尼&#xff08;国家ID:42&#xff09;、韩国&#xff08;国家ID:xx&#xff09;的股票市场对接方案。 共同特性 统一认证…...

【Elasticsearch】ILM(Index Lifecycle Management)策略详解

ILM&#xff08;Index Lifecycle Management&#xff09;策略详解 1.什么是 ILM 策略&#xff1f;2.ILM 解决的核心业务问题3.ILM 生命周期阶段3.1 Hot&#xff08;热阶段&#xff09;3.2 Warm&#xff08;温阶段&#xff09;3.3 Cold&#xff08;冷阶段&#xff09;3.4 Delete…...

linux 后记

Linux Server 下载一个Server的版本&#xff0c;就是那种只有命令行的 学会这个就可以去租一个aliyun服务器&#xff0c;挺便宜的 如果在aliyun买服务器的话就不用管镜像源 但是如果是自己的虚拟机就必须设置镜像源&#xff0c;上网搜索阿里的镜像源&#xff0c;然后手动输入&…...

【笔记】在 MSYS2 MINGW64 环境中安装构建工具链(CMake、GCC、Make)

&#x1f4dd; 在 MSYS2 MINGW64 环境中安装构建工具链&#xff08;CMake、GCC、Make&#xff09; ✅ 目标说明 记录在 MSYS2 的 MINGW64 工具链环境中&#xff0c;成功安装用于 C/C 构建的常用开发工具。 包括&#xff1a; GCC 编译器Make 构建系统CMake 跨平台构建工具基础开…...

PyTorch -TensorBoard的使用 (一)

设置环境 新建python文件 .py 安装Tensorboard 在终端进行安装 显示安装成功 两个logs&#xff0c;出现这种情况怎么解决 所有的logs文件删掉delete&#xff0c;重新运行 add_image 不满足要求 Opencv-numpy 安装Opencv add_image 用法示例 &#xff08;500&#xff0c;375&am…...

Redis最佳实践——性能优化技巧之数据结构选择

Redis在电商应用中的数据结构选择与性能优化技巧 一、电商核心场景与数据结构选型矩阵 应用场景推荐数据结构内存占用读写复杂度典型操作商品详情缓存Hash低O(1)HGETALL, HMSET购物车管理Hash中O(1)HINCRBY, HDEL用户会话管理Hash低O(1)HSETEX, HGET商品分类目录Sorted Set高O…...

网络安全方向在校生有哪些证书适合考取?

工作7年得出结论&#xff1a;网络安全&#xff0c;考任何证书都没有用&#xff0c;实力才是根本。我是2021年考的 CISSP&#xff0c;报了培训班&#xff0c;花了1万一千块钱&#xff0c;签的保障班还是服务班不记得了&#xff0c;大概意思就是你放心去考&#xff0c;考不过可以…...

从0开始学习R语言--Day14--贝叶斯统计与结构方程模型

贝叶斯统计 在很多时候&#xff0c;我们经常会看到在统计分析中出现很多反直觉的结论&#xff0c;比如假如有一种病&#xff0c;人群中的患病率为1%&#xff0c;患者真患病时&#xff0c;检测结果为阳性的概率是99%&#xff0c;如果没有&#xff0c;则检测结果为阳性的概率是5…...

02-BTC-密码学原理 对hash算法如果出现漏洞的思考

如果比特币中某个哈希函数的抗碰撞性出现了漏洞怎么办&#xff0c;怎么补救&#xff1f; 答&#xff1a;&#xff08;1&#xff09;攻击场景&#xff1a; 伪造交易&#xff1a;攻击者可构造两个不同的交易&#xff08;如正常交易和恶意双花交易&#xff09;具有相同的TxID&…...

[Python] 如何使用 Python 调用 Dify 工作流服务实现自动化翻译

在实际项目中,自动化工作流服务可以大大简化复杂任务的处理流程。本文将介绍如何通过 Python 脚本调用 Dify 提供的工作流 API,实现文本翻译的自动化操作。该流程包括设置 API 接口、构造请求体并处理返回结果。 一、背景介绍:什么是 Dify 工作流服务? Dify 是一款支持多种…...

分布式微服务系统架构第142集:全栈开发

加群联系作者vx&#xff1a;xiaoda0423 仓库地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ https://github.com/webVueBlog/fastapi_plus https://webvueblog.github.io/JavaPlusDoc/ /*** 本地启动解决跨域问题* 打包发布请注释该类&#…...

PTA-根据已有类Worker,使用LinkedList编写一个WorkerList类,实现计算所有工人总工资的功能。

目录 1.问题描述 2.函数接口定义&#xff1a; 3.裁判测试程序样例&#xff1a; 4.输入和输出样例 输入样例&#xff1a; 输出样例&#xff1a; 5.实现代码 1.问题描述 Main类&#xff1a;在main方法中&#xff0c;调用constructWorkerList方法构建一个Worker对象链表…...

文档整合自动化

主要功能是按照JSON文件&#xff08;Sort.json&#xff09;中指定的顺序合并多个Word文档&#xff08;.docx&#xff09;&#xff0c;并清除文档中的所有超链接。最终输出合并后的文档名为"sorted_按章节顺序.docx"。 主要分为几个部分&#xff1a; 初始化配置 定…...

微软markitdown PDF/WORD/HTML文档转Markdown格式软件整合包下载

本次和大家分享另一个微软发布的非常热门的文件文档转Markdown格式文档的软件markitdown&#xff0c;软件可以将PDF&#xff0c;word&#xff0c;ppt&#xff0c;Excel等十几种格式文档转换为markdown格式文档&#xff0c;我基于当前最新0.1.2版本制作了免安装一键启动整合包。…...

科普:Linux `su` 切换用户后出现 `$` 提示符,如何排查和解决?

科普&#xff1a;Linux su 切换用户后出现 $ 提示符&#xff0c;如何排查和解决&#xff1f; 在 Linux 系统管理中&#xff0c;su&#xff08;Switch User&#xff09;命令用于切换用户身份。正常情况下&#xff0c;从 root 切换到普通用户时&#xff0c;提示符会从 # 变成 $&…...

BayesFlow:基于神经网络的摊销贝叶斯推断框架

贝叶斯推断为不确定性条件下的推理、复杂系统建模以及基于观测数据的预测提供了严谨且功能强大的理论框架。尽管贝叶斯建模在理论上具有优雅性&#xff0c;但在实际应用中经常面临显著的计算挑战&#xff1a;后验分布通常缺乏解析解&#xff0c;模型验证和比较需要进行重复的推…...

NodeJS全栈开发面试题讲解——P9性能优化(Node.js 高级)

✅ 9.1 Node.js 的性能瓶颈一般出在哪&#xff1f;如何排查&#xff1f; Node.js 单线程 异步模型&#xff0c;瓶颈常出现在&#xff1a; 阻塞操作&#xff08;如&#xff1a;同步 I/O、CPU 密集型计算&#xff09; 数据库慢查询 / 索引失效 外部接口慢响应 大量并发请求导…...

NVMe IP现状扫盲

SSD优势 与机械硬盘&#xff08;Hard Disk Driver, HDD&#xff09;相比&#xff0c;基于Flash的SSD具有更快的数据随机访问速度、更快的传输速率和更低的功耗优势&#xff0c;已经被广泛应用于各种计算领域和存储系统。SSD最初遵循为HDD设计的现有主机接口协议&#xff0c;例…...

5G-A时代与p2p

5G-A时代正在走来&#xff0c;那么对P2P的影响有多大。 5G-A作为5G向6G过渡的关键技术&#xff0c;将数据下载速率从千兆提升至万兆&#xff0c;上行速率从百兆提升至千兆&#xff0c;时延降至毫秒级。这种网络性能的跨越式提升&#xff0c;为P2P提供了更强大的底层支撑&#x…...

基于FPGA的DES加解密系统verilog实现,包含testbench和开发板硬件测试

目录 1.课题概述 2.系统测试效果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于FPGA的DES加解密系统verilog实现,包含testbench和开发板硬件测试。输入待加密数据&#xff0c;密钥&#xff0c;输出加密数据&#xff0c;然后通过解密模块输出解密后的原…...

基于生产-消费模式,使用Channel进行文件传输(Tcp方式)

Client端&#xff1a; #region 多文件传输 public class FileMetadata {public string FileName { get; set; }public long FileSize { get; set; } }class Program {const int PORT 8888;const int BUFFER_SIZE 60 * 1024 * 1024;//15s-50 25s-64 33s-32 27s-50 31s-40 25…...

tortoisegit 使用rebase修改历史提交

在 TortoiseGit 中使用 rebase 修改历史提交&#xff08;如修改提交信息、合并提交或删除提交&#xff09;的步骤如下&#xff1a; --- ### **一、修改最近一次提交** 1. **操作**&#xff1a; - 右键项目 → **TortoiseGit** → **提交(C)** - 勾选 **"Amend…...