用于查找没有对指定列表进行任何订阅的用户的SQL查询(多对多)

时间:2009-12-01 18:16:43

标签: sql foreign-keys many-to-many one-to-many

有两个表,“用户”和“列表”,以及将用户与列表相关联的多对多“订阅”表(因此具有外键user_idlist_id),是一个单一的SQL查询来查找没有任何特定list_id订阅的用户(当然包括根本没有订阅的用户)?

1 个答案:

答案 0 :(得分:2)

再次突破not exists的时间:

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
  )