我有2个表如下:
create table table1 (id int not null, c1 varchar(10))
create table table2 (id int not null, value varchar(10))
insert into table1 values (10, 'record 1')
insert into table1 values (20, 'record 2')
insert into table2 values (10, 0)
我的要求是...
我必须从 table1 中获取所有记录,其中 table2 中的“值”为 0 或 table2 中没有记录。对于 id=20,table2 中没有记录,但我仍然想在结果中显示它。
我不想使用 LEFT JOIN。我想在 INNER JOIN 中使用 OR 条件。
我目前的查询是...
select a.*
from table1 a
inner join table2 b
on a.id = b.id and b.value = 0
我正在寻找的结果是......
10 record1(将在结果中,因为它在 table2 中的值为 0) 20 record2(将在结果中,因为 table2 中没有 20 的值)