我有一张医生桌和一张位置表。每位医生可以有多个位置,但每位医生只能将一个位置标记为默认位置。我试图找到没有标记为默认位置的医生。连接是doctors.ID到locations.doctor_id。
答案 0 :(得分:1)
您可以使用not exists
子句。
select * from doctor d
where not exists
( select 1 from locations
where locations.doctor_id = d.id
and locations.default =1
)
另一种方法是使用left join
select * from doctor d
left join locations l
on l.doctor_id = d.id
and l.default =1
where l.doctor_id is NULL