一尘不染

SQL如何搜索多对多关系

sql

我有一个包含两个主表notes和一个数据库labels。它们之间存在多对多的关系。我想知道的是如何使用SQL使用多个标签搜索笔记?

例如,如果我有一个带有三个标签“一个”,“两个”和“三个”的注释“ test”,而我有一个带有标签“一个”和“两个”的第二个注释“
test2”,那么将执行什么SQL查询找到与标签“一个”和“两个”相关联的所有注释?


阅读 120

收藏
2021-03-10

共1个答案

一尘不染

要获取 同时 带有标签“ One”和“ Two”的笔记的详细信息,请执行以下操作:

select * from notes
where note_id in
( select note_id from labels where label = 'One'
  intersect
  select note_id from labels where label = 'Two'
)
2021-03-10