我正在尝试查找foo没有任何bar符合给定条件的记录的所有记录。
create table foo (
id integer
);
create table bar (
foo_id integer,
name varchar(255)
);
insert into foo (id) values (1),(2),(3),(4),(5),(6);
insert into bar (foo_id, name) values
(1,"name1"),
(2,"name1"),
(3,"asd"),
(4,"name2"),
(5,"name2"),
(3,"name1");
Run Code Online (Sandbox Code Playgroud)
基于此 .. 只有记录6符合条件,因为它没有标记为name1或name2。
select
foo.*
from foo
left outer join bar on (foo.id = bar.foo_id)
where
bar.name not in ("name1","name2") or bar.name is null;
Run Code Online (Sandbox Code Playgroud)
我缺少什么?