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而已. 

 

 

 

查询结果:

 

 

 

 

 

posted @ 2021-08-23 11:08  trump2  阅读(68)  评论(0)    收藏  举报