现在我们查询出被贴上某个特定标签的内容列表,执行一段查询,用 SELECT 选择需要的栏目,需要 post.id,post.title,还有 tag.name 起个名字叫 tagName。
在 FROM 后面设置数据来源,这里就是 post 这个数据表。 先用 LEFT JOIN 这种方法拼接一下 post_tag 数据表,在 ON 的后面设置拼接条件,条件是 post 表里的 id 栏目的值应该等于 post_tag 这个表里的 postId 。
然后继续再拼接一下 tag 数据表,同样用 LEFT JOIN,拼接的是 tag 数据表,在 ON 的后面设置条件,条件是 post_tag 表里的 tagId 的值等于 tag 表里的 id 栏目的值。
最后再用 WHERE 设置一个查询条件,条件是 tag 表里的 name 应该等于一个特定的值,比如 秋天 。这段查询的意思就是找出被贴上了 秋天 这个标签的内容列表。
这里给我们找出了一个结果。下面可以在 post_tag 数据表里手工添加一条数据记录, 先看一下 post 数据表,比如我想给 id=2 的这个内容也贴上一个秋天这个标签。
打开 post_tag 数据表,添加一条数据记录,postId 的值是 2,tagId 的值是 1 ,保存一下。
在回来重新执行一下这段 SQL,这次查询出来两个结果,这两个内容都被贴上了 秋天 这个标签。