Mysql:如何制作和阅读加入的查询?

时间:2011-01-19 15:54:54

标签: mysql join

我有2个表 - 一个包含文章,另一个包含文章相关照片。每篇文章都可以没有,一张或多张与之相关的照片(article_id作为外键)

我用来获取数据的查询是:

SELECT articles.article_id, articles.article_text article_photos.photo_filename
FROM articles, article_photos
WHERE article_photos.article_id = articles.article_id

它返回给我所有数据+ 1 photo_filename。

问题是,当2张或更多张照片与文章相关时,我该如何阅读?

谢谢!

1 个答案:

答案 0 :(得分:1)

它将复制articles中的同一行,但article_photos

的行不同

,例如

select articles.article_id, articles.article_text, article_photos.photo_filename
from
  articles
left join article_photos
on article_photos.article_id=articles.article_id

>>> results
1,some_text,photo1.jpg
1,some_text,photo2.jpg
1,some_text,photo3.jpg
2,some_text2,NULL       --> no photo related