如何在SQL查询中的表A(A\B)中选择表B的相对补码?

d.h*_*ill 16 mysql sql select

我有两张桌子:

  1. 科目:[id,...]

  2. 类别:[subject.id,...]

我想从表#1中选择所有主题而没有#2(类别)中的条目.

任何提示赞赏(:

最好的祝福

Dan*_*man 25

Sachin已经提供了正确答案,但您也可以使用连接语法:

SELECT
  subjects.*
FROM
  subjects
LEFT OUTER JOIN
  categories
ON
  subjects.id = categories.subject_id
WHERE
  categories.subject_id IS NULL
Run Code Online (Sandbox Code Playgroud)


Sac*_*hag 21

select * from subjects where id not in (select subject.id from categories )
Run Code Online (Sandbox Code Playgroud)