Sql多张表的子查询

  • 在日常开发中,我们会遇到取多张表的数据,但是几张便只是两两关联的话,这样单独的连接查询就满足不了需求,这个是就需要通过子查询来获得需要的数据,下面给出一个简单的demo:
SELECT top 1 t4.end_time ,t1t2t3.* from crm_wy_fee_init t4 right JOIN
        (SELECT t3.name,t1t2.* from crm_owner t3 right JOIN
        (SELECT t2.owner_id,t1.*from crm_owner_residence t2 left JOIN 
        crm_residence t1 on t2.residence_code = t1.code WHERE t1.code=#{code})t1t2 //首先通过全连接查询,通过给出的条件获得t2的owner_id;
        on t3.id = t1t2.owner_id)t1t2t3 //然后通过之前查出的owner_id,通过左连接查询出t3的name;
        ON t4.residence_code = t1t2t3.code and t4.kjkm='1101' //最后通过条件查询出在t4表中和之前三张表子查询获得的数据;

猜你喜欢

转载自blog.csdn.net/megamind_hl/article/details/79893311
今日推荐