请帮忙分析下这句SQL语句,看不懂,小弟是菜鸟

2025-02-22 09:27:32
推荐回答(4个)
回答1:

select(查询) c.id(company的id字段) as comid(显示的时候取个别名叫comid),comname(company的comname字段), addre(company的addre字段),c.name(company的name字段) as cname(显示的时候用取个别名叫cname),a.name(area的name字段) as aname(显示的时候取个别名叫aneme),row_number() over(order by c.id) as rownum,Num.回馈数 from company c(给company取个别名叫a) inner join(连表出现啊un) area a(给area取个别名叫a) on c.area=a.id(条件 类似 where c.area=a.id) inner join(连表查询)(select count(*)(取出总数) as '回馈数'(显示的时候取个别名叫回馈数),comid from prelist where(条件) prelist.city>0 group by comid) Num on c.id=Num.comid where estate=4 order by c.id(用company的id字段进行排序)

回答2:

select c.id as comid,comname, addre,c.name as cname,a.name as aname,row_number() over(order by c.id) as rownum,Num.回馈数--查询的地段
from company c--表
inner join area a on c.area=a.id --内连接
inner join(--内连接一个结果集
select count(*) as '回馈数',comid
from prelist
where prelist.city>0
group by comid--分组
)
Num on c.id=Num.comid --内连接条件
where estate=4
order by c.id--按照id排序

回答3:

哪里看不懂?三表关联查询,row_number() over(order by c.id)根据这个id排序,并列出序号
用了这个函数,语句末尾的order by多余了,可去掉

回答4:

这就是几个表 之间的 内连接啊,还加了个分组!