Sql 3表(加入)

时间:2016-04-20 16:58:15

标签: mysql

我想将content.id,content.title,content.user和tag(如果可用)作为content.tag。

到目前为止,我尝试使用内部联接进行查询,但它们只显示生成的exc2(带有运动标记的那个)。

表:

content                  tags   

+----+-------+------+    +-------------+
| id | title | user |    | id |  tag   |
+----+-------+------+    +-------------+
|  1 | exc1  |    1 |    | 1  | sports |
|  2 | exc2  |    1 |    +-------------+
|  3 | exc3  |    2 |
+----+-------+------+


content_tag

+------------+-------------+
| content_id | content_tag |
+------------+-------------+
|          2 |           1 |
+------------+-------------+

1 个答案:

答案 0 :(得分:1)

select cont.* tags.* from content 
inner join content_tag on content.id = content_tag.content_id
inner join tags on content_tag. content_tag = tags.id

仅返回exec2

select cont.* from content 
left join content_tag on content.id = content_tag.content_id
left  join tags on content_tag. content_tag = tags.id

应该返回所有具有空值但不匹配的行