gpt4 book ai didi

mysql - 如何为多对多关系编写连接查询?对于字典项目

转载 作者:行者123 更新时间:2023-11-28 23:34:16 26 4
gpt4 key购买 nike

我正在为字典项目开发数据库。我必须存储具有多对多关系的单词和含义。

下面我提到了带有我的表结构的示例。我希望表格结构是正确的,但我不知道如何在用户搜索时选择单个单词的所有含义。

而且我还必须编写一个查询来选择链接到一个单一含义的所有单词。

而且我还必须编写一个查询来选择与单个词相关联的所有含义。

word_table  
+----+------+
| id | word |
+----+------+
| 1 | A |
| 2 | B |
| 3 | C |
+----+------+


meaning_table
+----+--------+
| id | meaning|
+----+--------+
| 1 | X |
| 2 | Y |
| 3 | Z |
+----+--------+


word_meaning_table
+---------+-----------+
| word_id | meaning_id|
+---------+-----------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 3 |
| 3 | 2 |
| 3 | 3 |
+---------+-----------+

Expected output should be like this.

If user searching for a word "A" in word table the result should be

  Result for word "A"
+----+----------+
| word| meaning |
+----+----------+
| A | X |
| A | Y |
| A | Z |
+----+----------+

我不知道如何为这种情况编写连接查询。

最佳答案

SELECT wt.word, mt.meaning
FROM word_table wt
INNER JOIN word_meaning_table wmt
ON wt.id = wmt.word_id
INNER JOIN meaning_table mt
ON wmt.meaning_id = mt.id
WHERE wt.word = 'A'

点击下面的链接获取工作演示:

SQLFiddle

关于mysql - 如何为多对多关系编写连接查询?对于字典项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36260132/

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