sql 一段时间内相同的只统计一次_SQL-多表查询

这篇博客详细介绍了SQL中的多表查询操作,包括表的加法(UNION)、交叉联结、内联结、左联结、右联结等,并通过案例展示了如何在实际工作中应用这些操作进行数据统计,如查询学生选课数、总成绩、平均成绩等。此外,还讲解了CASE表达式在统计及格和不及格人数以及分段统计成绩中的应用。
摘要由CSDN通过智能技术生成

0bce8dbf23229903abe751ef64ce6189.png

实际工作中,需要查询的结果经常分散在多张表中,所以需要通过联结方式进行多表查询。

一、表的加法

1.使用方法

加法(union),把两个表按行合并在一起,把重复的数据删除掉只保留一条,如果想要保留重复行则使用union all。

1be5a4e2c19419e532d5f137a91713d1.png

2.练习

(1)新建course1表

通过复制course表的结构和数据新建course1表

5cecffcf84defe50fa78d188f73c4839.png

(2)

case1:只保留一行重复数据

13ee5f170c4cf290806dc6639740cc1b.png

case2:保留所有重复行数据

b685c6006cb53961763f0b8c3d90f96c.png

二、表的联结

(一)交叉联结

1.定义

交叉联结又称为笛卡尔积,两个集合XY的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。(笛卡尔积的定义来自百度百科)

193f9a24f847519255b2c83869231960.png

2.练习

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值