gpt4 book ai didi

mysql - 如何在 mysql 中进行多个自连接?

转载 作者:行者123 更新时间:2023-11-29 04:11:38 25 4
gpt4 key购买 nike

我正在研究家谱数据库。简单来说,一个名为 ancestors 的表由具有以下结构的记录组成:

 name_id | name | mother_id | father_id
---------+------+-----------+-----------
1 | John | 2 | 3
2 | Mary | 4 | 5
3 | Dave | 6 | 7

第一个查询查找 John 的父 ID:例如,John 的 parent 的 ID 为 2 和 3

然后两个进一步的查询找到父 ID 的父名称:Parent id 2 的名字叫 Mary,Parent id 3 的名字叫 Dave

已使用三个查询发现:约翰的 parent 叫玛丽和戴夫。

这可以通过单个查询完成吗,性能会有所提高吗?

最佳答案

SELECT me.name,
mother.name,
father.name
FROM ancestors me
JOIN ancestors mother
ON me.mother_id = mother.name_id
JOIN ancestors father
ON me.father_id = father.name_id
WHERE ancestors.id = 1
;

是的,运行上述查询通常比运行三个单独的查找查询更快。

关于mysql - 如何在 mysql 中进行多个自连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988757/

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