前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL自连接的知识,请记住!

SQL自连接的知识,请记住!

作者头像
万能数据的小草
发布2024-07-23 15:17:27
640
发布2024-07-23 15:17:27
举报
文章被收录于专栏:万能的小草

自连接是 SQL 中的一种连接类型,我们将一个表与同一个表连接起来。我们将使用自连接解决 SQL 问题。

原始数据:

PersonName

ParentName

Status

A

X

Alive

B

Y

Dead

X

X1

Alive

Y

Y1

Alive

X1

X2

Alive

Y1

Y2

Dead

注意:这里的状态栏是针对狗狗个人而不是针对狗狗父母的。

从上面的数据我们可以看到,如果我们可以获得父级的状态,那么我们将对所需的输出进行计数。现在我们可以看到父列中有一些名字出现在人员列中。

PersonName

PersonStatus

ParentName

ParentStatus

A

Alive

X

Alive

B

Dead

Y

Alive

X

Alive

X1

Alive

Y

Alive

Y1

Dead

X1

Alive

X2

Null

Y1

Dead

Y2

Null

这是 SQL 查询和输出

代码语言:javascript
复制
with x as
(select p.PersonName,p.Status as PersonStatus,p.ParentName
,p1.Status as ParentStatus )
from persons p
left join persons p1
on p.ParentName =p1.PersonName 

select count(PersonName) as alive_counts
from x
where ParentStatus='Alive'

上述输出 结果=3

可以从 CTE x 获得。想象一下,您就会得到答案。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 万能数据的小草 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档