MySQL:表的内外连接

embedded/2025/1/17 18:12:48/

目录

1.内连接

2.左外连接和右外连接

178. 分数排名 - 力扣(LeetCode)


1.内连接

内连接就是两张表做笛卡尔积,再加上一个筛选条件。

这两个sql语句是一样的。

2.左外连接和右外连接

左外连接就是左表必须是完全显示,即使筛选条件没有成功,右表部分为空,左表部分也要显示出来

案例

-- 建两张表
create table stu (id int, name varchar(30)); -- 学生表
insert into stu values(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');create table exam (id int, grade int); -- 成绩表
insert into exam values(1, 56),(2,76),(11, 8);

显示所有人的成绩,即使没有成绩也要把人的信息显示出来

右连接也是一样的。

178. 分数排名 - 力扣(LeetCode)

这道题比较难想的一步就是怎么去确定rank排名。

可以同一张表做笛卡尔积,筛选条件t2.score >= t1.score,经过该条件筛选出来的数据就是比t1分数大的数据。

select * 
from Scores s1 inner join Scores s2 on s2.score>= s1.score
order bys1.score desc;

以t1.id和t1.sorce分组,聚合统计分组后每张表的数据,就是rank排名,这里需要对相同的分数进行去重,因为分数相同的排名是一样的。

 

select s1.score,count(distinct s2.score) as 'rank'
from Scores s1 inner join Scores s2 on s2.score>= s1.score
group bys1.id,s1.score
order bys1.score desc;


http://www.ppmy.cn/embedded/154719.html

相关文章

ubuntu的截图工具有哪些

在 Ubuntu 上,有多种截图工具可供选择,以下是一些常用的工具及其使用方法: 1. 内置截图工具 Ubuntu 自带了一个简单的截图工具,可以通过快捷键或应用程序启动。 快捷键: 全屏截图:Print Screen&#xff08…

BY组态-低代码web可视化组件

简介 BY组态是贵州华创云科技完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮助物联网、工业互联网、电力能源、水利工程、智慧农业、智慧医疗、智慧城市等场景快速实现数字孪生、大屏可视化、Web组态、SCADA等解决方案。具有实时监控、多样、变化、动态…

抖音矩阵是什么

抖音矩阵是指在同一品牌或个人IP下,通过创建多个不同定位的抖音账号(如主号、副号、子号等),形成一个有机的整体,以实现多维度、多层次的内容覆盖和用户互动。以下是关于抖音矩阵的详细介绍: 抖音矩阵的类…

thermocalc python调用

ThermoCalc是一个专业的材料力学计算软件,它提供了一个Python接口,可以通过调用其Python库来进行计算。首先,你需要安装ThermoCalc软件,并确保它的Python接口已经被激活。然后,你可以使用Python代码来调用ThermoCalc的…

01.02、判定是否互为字符重排

01.02、[简单] 判定是否互为字符重排 1、题目描述 给定两个由小写字母组成的字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 在这道题中,我们的任务是判断两个字符串 s1 和 s2 是…

Spring Boot 中实现 WebSocket 的方式

在 Spring Boot 中实现 WebSocket 的方式主要有以下几种,每种方式适用于不同的场景和需求: 1. 基于 Spring WebSocket 的实现 特点: 原生支持 WebSocket,基于 Spring 提供的 API。使用 WebSocketConfigurer 和 WebSocketHandler 配置端点和消息处理逻辑。可以通过拦截器访…

uniapp css 实现向上弹出内容

默认情况 元素再底部 并且超出了内容部分 transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); transform: translate3d(0, 100%, 0); position: fixed;z-index: 11;bottom: 0;left: 0; 动态改变之后添加 transform: translate3d(0, 0, 0); 这样内容就弹出来了uniapp 中禁…

Notion 推出捏脸应用 | Deving Weekly #15

CEF-Detector-X 现在 Chromium 占据了桌面应用的大壁江山,典型的有 Electron 框架,底层就是基于 Chromium 内核,上百 M 的臃肿包体积一直别人诟病。 CEF-Detector-X 可以检测你电脑有多少个 基于 Chromium 应用,并且会生成一份「…