mysql(十四)

article/2025/6/23 13:13:01

目录

多表查询

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.总结

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

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

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


http://www.hkcw.cn/article/NJpEHPwbUJ.shtml

相关文章

莫言谈给冯巩起名“闭嘴”原因 饭局趣事揭秘

莫言谈给冯巩起名“闭嘴”原因 饭局趣事揭秘!6月2日,作家莫言在个人社交账号上分享了一段趣事。他提到前年冬天在一个饭局上初次见到相声演员冯巩。冯巩握住莫言的手称赞他的小说写得好,并表示这得益于一个好笔名。冯巩还透露自己最近也想尝试写作,希望莫言能为他起个笔名。…

Windows采用npx方式本地部署n8n

windows本地部署n8n 1.安装node.js n8n Github首页: https://github.com/n8n-io/n8n 2.解决npx报错 Windows PowerShell 版权所有 (C) Microsoft Corporation。保留所有权利。尝试新的跨平台 PowerShell https://aka.ms/pscore6PS C:\WINDOWS\system32> npx -v npx : 无…

存款10万不敢生病的中年人有多难?这是一个残酷的事实!

人到了中年,就会遇到更多的危险,婚姻破裂,失业,房贷,子女的学业,这些都是他们生命中的最后一根救命稻草。不过只要有足够的资金,一切都会迎刃而解。问题是,一个拥有十万元存款的中年人能否应付中年危机?有人说,这是一个残酷的事实。一、存款10万元意味着什么?说实话…

通讯录Linux的实现

产品底层思考: 人员如何存储 -> 链表 (增删改 但是排序不适合)文件存储 -> 人员数据的格式 name:xxx,phone:xxx人员信息 -> 姓名、电话 引出2 name:xxx,phone:xxx,age:xxx,addr,xxx name:yyy,phone:yyy,age:yyy,addr,yyy 实现通讯录…

Python:操作 Excel 格式化

🔧Python 操作 Excel 格式化完整指南(openpyxl 与 xlsxwriter 双方案) 在数据处理和报表自动化中,Python 是一把利器,尤其是配合 Excel 文件的读写与格式化处理。本篇将详细介绍两大主流库: openpyxl:适合读取与修改现有 Excel 文件xlsxwriter:适合创建新文件并进行复…

阿里云服务器ECS详解:云服务器是什么,云服务器优势和应用场景及参考

云服务器ECS是阿里云众多云产品中,最受用户关注的产品,阿里云服务器提供多样化的计算能力,支持x86、Arm架构,涵盖CPU、GPU等多种服务器类型,满足各种用户需求。其便捷易用特性包括分钟级交付、通用API和性能监控框架&a…

【笔记】Windows 下载并安装 ChromeDriver

以下是 在 Windows 上下载并安装 ChromeDriver 的笔记: ✅ Windows 下载并安装 ChromeDriver 1️⃣ 确认 Chrome 浏览器版本 打开 Chrome 浏览器 点击右上角 ︙ → 帮助 → 关于 Google Chrome 记下版本号,例如:114.0.5735.199 2️⃣ 下载…

ABP-Book Store Application中文讲解 - Part 4: Integration Tests - TBD

ABP-Book Store Application中文讲解 - Part 4: Integration Tests 本章用于介绍如何做集成测试。 1. 汇总 ABP-Book Store Application中文讲解-汇总-CSDN博客 2. 前一章 ABP-Book Store Application中文讲解 - Part 3: Creating, Updating and Deleting Books 项目之间…

房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块

房屋租赁系统 JavaVue.jsSpringBoot,包括房屋类型、房屋信息、预约看房、合同信息、房屋报修、房屋评价、房主管理模块 百度云盘链接:https://pan.baidu.com/s/1KmwOFzN9qogyaLQei3b6qw 密码:l2yn 摘 要 社会的发展和科学技术的进步&#xf…

用wireshark抓包分析学习USB协议

用 wireshark 抓包分析学习 USB 协议 1 框架 上图是使用USB协议通信的两个设备的实现细节。看起来比较复杂,可以看下面的示意图: 整个框架分为三层:Function Layer、USB Device Layer 和 USB Bus Interface Layer;黑色双向箭头代…

PyTorch——卷积操作(2)

二维矩阵 [[ ]] 这里面conv2d(N,C,H,W)里面的四个是 N就是batch size也就是输入图片的数量,C就是通道数这只是一个二维张量所以通道为1,H就是高,W就是宽,所以是1 1 5 5 卷积核 reshape 第一个参数是batch size样本数量 第二个参数…

加拿大没邀请,莫迪不去G7 双边关系紧张所致

据知情人士透露,由于新德里与渥太华关系冷淡,印度总理莫迪或将缺席6月中旬在加拿大举行的七国集团(G7)峰会。这可能将是莫迪六年来首次缺席该峰会。消息人士表示,对于加拿大将于6月15日至17日主办的G7峰会,印方迄今未收到加方正式邀请,且印方也没有表明参加意愿。在进行…

6岁女童被男子拖进小巷 警方通报 嫌疑人已被拘留

6月3日,湖南娄底市公安局娄星分局通报了一起事件。5月20日下午,嫌疑人刘某某(男,38岁)酒后行至娄底市娄星区涟滨中街附近,拖拽一名6岁女童进入居民区巷子。幸好被居民及时制止并报警。接警后,民警迅速赶到现场将刘某某控制。经侦查,刘某某涉嫌寻衅滋事已被拘留,并将依…

央视披露“镇国神器”东风-5参数,网友:40多年前这水平

央视披露“镇国神器”东风-5参数。6月2号,央视新闻报道了一条让人非常振奋而又非常炸裂的消息。那就是直接公布的我们在40多前就已经研发和发射成功的东风-5洲际导弹的具体参数,消息一出,引发全网强烈关注和热烈。我们知道我们很厉害,但是不知道在40多年前我们的镇国利器,…

警方通报“男子拖拽女童”:追究刑责!

警方通报“男子拖拽女童”:追究刑责事件持续发酵。6月3日,湖南娄底市公安局娄星分局通报,5月20日下午,嫌疑人刘某某(男,38岁)酒后行至娄底市娄星区涟滨中街附近,拖拽一女童(6岁)进入居民区巷子,后被居民及时制止并报警。接警后,民警迅速赶到现场将刘某某控制。经侦…

黄金大涨“带火”铂金:有人百万资金囤购 铂金市场热度飙升

黄金大涨“带火”铂金:有人百万资金囤购 铂金市场热度飙升!铂金市场近期出现显著上涨行情,年内累计最大涨幅达到25%。这一波“复兴”浪潮迅速从深圳水贝这一珠宝中心蔓延开来,引发了投资者和买家的广泛关注。陈女士是一位热衷于投资的投资者,她最近在铂金上进行了大量投资…

【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 一、前言:移动开发声明式 UI 框架的技术变革 在移动操作系统的发展历程中,UI 开发模式经历了从命令式到声明式的重大变革。 根据华为开发者联盟 2024 年数据报告显示,HarmonyOS 设备…

蒋雨融回应在哈佛毕业典礼上的演讲 堂堂正正争取话语权

蒋雨融回应在哈佛毕业典礼上的演讲 堂堂正正争取话语权!6月2日晚,蒋雨融Luanna在微博上回应了关于哈佛演讲的争议。她表示,无论是争取成为哈佛毕业致辞代表,还是在各个平台上开设账号,都是为了争夺公共话语空间。她认为,如果中国学生不去争取这个空间,就会被其他学生占据…

Linux服务器安装GUI界面工具

注意: 本文内容于 2025-05-31 18:55:23 创建,可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容,请访问原文地址:Linux服务器安装GUI界面工具。感谢您的关注与支持! 本文记录在Linux使用Docker安装G…

什么是绿电直连

定义 绿电直连是指风电、太阳能发电、生物质发电等新能源不直接接入公共电网,而是通过专用直连线路向单一电力用户直接供应绿色电力,实现电力的物理溯源。 “物理直连” 是指可再生能源发电项目的发电端与用户通过专门铺设的输电线路直接相连&#xff…