sql exists 与 not exists
exists语句的查询范围是自己的from
注意exists和not exists里面的sql 利用的不是外面查询的结果, 而是结果中的关联字段. 也就是exists里面的sql的查询范围并非外面的结果集.
select t1.*
from buss_task_detail t1
where not exists
(
select 1 from buss_task_detail st1
where st1.task_type = '3' and st1.is_task_effect=1
and t1.order_id = st1.order_id
)
and t1.is_own = '1'
and t1.state = '4'
and t1.order_id in ('O08231078537016304')
括号中的sql查询范围为buss_task_detail表,而非外面的结果集. 只是利用外面的order_id而已.

查询结果:


无聊我就学英语

浙公网安备 33010602011771号