MySQL多个表和多行

时间:2009-09-09 08:52:36

标签: mysql

假设我在MySQL中有一个名为articles的表,它有一个名为article_id的列。我还有另一个名为links的表,它有两列叫做article_id和link。

每篇文章都可以附加多个链接,假设article_id = 2有两个链接:

articles:
article_id | text
-----------+------
2          | blah

links:
article_id | url
-----------+------
2          | test1
2          | test2

现在我想要一个能够以某种方式从文章中选择文本的查询以及在一个查询中可以使用article_id = 2的链接中的网址吗?

1 个答案:

答案 0 :(得分:1)

您需要JOIN这些表一起使用article_id。 有几种不同类型的联接 - 如果文章总是有链接,您可以使用INNER JOIN - 如果不是,那么您可以使用LEFT JOIN,在这种情况下url将{ {1}}。

NULL

您应该注意,这将为每个网址返回一行,并为每个行重复文章文本 - 在您的应用程序中,您只需从第一行获取文本。如果您的文字很大并且每篇文章都有很多链接,那么进行两次查询可能会更有效 - 您必须对其进行分析才能找到答案。