我有一个 MySQL 数据库,其中有一个表monkeys
:
id name
1 Alice
2 Bill
3 Donkey Kong
4 Edna
5 Feefee
我还有一张桌子bananas
,它们是从哪里挑选出来的。
id where_from
1 USA
2 Botswana
3 Banana-land
4 USA
最后,我有一张表格matches
,描述了哪些香蕉属于哪些猴子。每只猴子只能吃一根香蕉,没有一只猴子可以共用一根香蕉。有些猴子可能缺少一根香蕉。
id monkey_id banana_id
1 3 4
2 4 1
3 5 2
如何使用单个 SQL 语句检索所有匹配项?对于每场比赛,我想要猴子的名字以及香蕉的来源。
我尝试了以下 3 个 SQL 语句,它们都有效:
SELECT * FROM matches
SELECT * FROM monkeys WHERE id=[monkey_id from 1st SQL query]
SELECT * FROM bananas WHERE id=[banana_id from 1st SQL query]
我觉得 3 SQL 语句虽然很麻烦。关于如何只使用单个 SQL 语句的任何想法?我只是在学习 SQL,并且正在学习基础知识。谢谢!