有两张桌子T1和T2 如果进入T2相关行不存在,sql是否有任何变体从T1中选择所有行?没有JoinLeft
例如
table user
id---name
1 A
2 B
task
id----idUser
1 1
结果== 2,B
BR!
答案 0 :(得分:1)
典型的方法是使用not in
:
select u.*
from user u
where u.id not in (select iduser from task);
但是,not exists
具有更好的语义,因为它更直观地处理NULL
值:
select u.*
from user u
where not exists (select 1 from task t where t.iduser = u.id);