SQL语句相关联多表查询

sql语句多表查询,我是已经查询出一张表的数据,但想通过STCD字段相关联的另一张表的数据的两个字段也显示进来,一下是我已查询到的语句:
select top 5 STCD,sum(DRP) as DRP_SUM from RWDB.dbo.ST_PPTN_R where TM >= DATEADD(hour,-1,GETDATE()) group by STCD order by 2 desc
下图是另外一张表需要插进来的字段和结构:

img


数据库是SqlServer

select 
    top 5 r.STCD,sum(r.DRP) as DRP_SUM ,b.STNM,b.STLC
from 
    RWDB.dbo.ST_PPTN_R r left join dbo.ST_STBPRP_B b
on
    r.STCD=b.STCD
where 
    r.TM >= DATEADD(hour,-1,GETDATE()) 
group by r.STCD 
order by r.2 desc
  1. 简单粗暴号理解再关联下
    select t1.*,t2.STNM,t2.STLC from (
    select top 5 STCD,sum(DRP) as DRP_SUM from RWDB.dbo.ST_PPTN_R where TM >= DATEADD(hour,-1,GETDATE()) group by STCD order by 2 desc
    ) as t1 left join RWDB.dbo.ST_STBPRP_B t2 on t1.STCD=t2.STCD order by t1.DRP_SUM desc
    
  2. 改写原有sql方案
    select 
     top 5 r.STCD,sum(r.DRP) as DRP_SUM ,b.STNM,b.STLC
    from 
     RWDB.dbo.ST_PPTN_R r left join RWDB.dbo.ST_STBPRP_B b
    on
     r.STCD=b.STCD
    where 
     r.TM >= DATEADD(hour,-1,GETDATE()) 
    group by r.STCD,b.STNM,b.STLC
    order by r.DRP_SUM desc
    

join


select top 5 STCD
,B.STNM,B.STLC,sum(DRP) as DRP_SUM 
from RWDB.dbo.ST_PPTN_R 
left join RWDB.dbo.ST_STBPRP_B  B on  R.STCD =B.STCD
where TM >= DATEADD(hour,-1,GETDATE()) 
group by STCD,B.STNM,B.STLC 
order by 2 desc

左连接进行查询,以左表为主表,右表不存在的时候为null