【问题标题】:SQL query (many to many )SQL 查询(多对多)
【发布时间】:2022-08-03 20:59:11
【问题描述】:

我有一张笔记表和一张标签表。它们通过附加表连接。每个笔记可以有多个标签,每个标签可以有多个笔记。它看起来像这样:

我无法弄清楚如何正确编写查询。

请帮我获取一张便条的所有标签。 (选择 * FROM 标签...)

    标签: sql postgresql


    【解决方案1】:

    您只需要加入表格:

    SELECT *
    FROM notes n
       LEFT OUTER JOIN notes_tags nt
          ON n.note_id = nt.note_id
       LEFT OUTER JOIN tags t 
          ON nt.tag_id = t.tag_d
    WHERE n.note_id = <some note you are interested in>
    

    使用 LEFT OUTER JOIN 因为我怀疑某些笔记可能有 0 个标签。这仍然会吐出便笺记录,但行中没有标签信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多