gpt4 book ai didi

Stack Exchange Data Explorer 上的 SQL - 定义值

转载 作者:行者123 更新时间:2023-12-04 18:25:25 27 4
gpt4 key购买 nike

我是 Stack Overflow 的新手,是一名非常新手的编码员。我正在使用 this tutorial学习如何编写查询来搜索 Stack Exchange Data Explorer .

我正在查看这行代码:

SELECT p.Title, p.Id, p.Score, a.Score AS "Accepted Score", 
u.DisplayName AS "Asker", au.DisplayName AS "Answerer"

FROM Posts p
JOIN Posts a ON p.AcceptedAnswerId = a.Id
JOIN Users u ON p.OwnerUserId = u.Id
JOIN Users au ON a.OwnerUserId = au.Id
WHERE p.PostTypeId = 1
AND p.Score >= 25
and p.AcceptedAnswerId IS NOT NULL
ORDER BY p.Score DESC

...我想确保我理解它。我有点卡住的部分是:

JOIN Posts a ON p.AcceptedAnswerId = a.Id
JOIN Users u ON p.OwnerUserId = u.Id
JOIN Users au ON a.OwnerUserId = au.Id

我说的对吗(1) 我们本质上是在定义“a”、“u”和“au”,并且 (2) “a”代表具有已接受答案的帖子的所有用户 ID (3) “u”代表用户 ID出现在帖子和用户个人资料中 (4),“au”代表回答帖子和用户的横截面?

我想我很困惑为什么你需要在这里定义“u”。是不是为了让结果返回指向用户实际个人资料的超链接,而不是仅仅给出一个数字?

最佳答案

'a' 表示帖子,通过将其加入表示为 'p' 的帖子以及 AcceptedAnswerId,您的数据集将仅使用 AcceptedAnswers 进行过滤。这也称为自连接,此处“p”包含提出问题的用户信息,“a”包含回答者的信息,当“u”包含用户信息的表别名与“的所有者标识”连接时p' 以便它返回提问者的用户信息,类似地再次使用用户表作为 'au' 来检索回答者信息。

关于Stack Exchange Data Explorer 上的 SQL - 定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53134160/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com