我是 Stack Overflow 的新手,并且是一个非常新手的编码器。我正在使用本教程来学习如何编写查询来搜索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”。是不是结果会返回一个指向用户实际个人资料的超链接,而不仅仅是给出一个数字?