SQL查询以查找不使用';我没有订阅指定列表(多对多)

SQL查询以查找不使用';我没有订阅指定列表(多对多),sql,foreign-keys,many-to-many,one-to-many,Sql,Foreign Keys,Many To Many,One To Many,有两个表,“用户”和“列表”,以及一个将用户与列表关联的多对多“订阅”表(因此有外键user\u id和list\u id),一个SQL查询如何查找所有没有特定list\u id订阅的用户(当然包括那些根本没有订阅的用户)不再存在的时候了: select u.user_id from users u where not exists ( select 1 from subscriptions s where s.user_id = u.user_id and s.list_i

有两个表,“用户”和“列表”,以及一个将用户与列表关联的多对多“订阅”表(因此有外键
user\u id
list\u id
),一个SQL查询如何查找所有没有特定
list\u id
订阅的用户(当然包括那些根本没有订阅的用户)

不再存在
的时候了

select
  u.user_id
from
  users u
where
  not exists (
    select 1 from subscriptions s where s.user_id = u.user_id and s.list_id = N
  )

我删除了我的答案,所以这个问题应该会再次出现在未回答列表中。希望对您的问题有更好理解的人会给您一个更好的答案。您应该清楚您的要求,即如果用户有
completed=1
@Welbog的任务,您不希望看到该用户:非常感谢,我重新制定了问题o这个例子更有实际意义。