题解 | #列出供应商及其可供产品的数量#

列出供应商及其可供产品的数量

https://www.nowcoder.com/practice/17f22851cf204019b51a36761a3afc79

此题我并没有使用题目提示的outer join,而是换了另一种思路,使用了ifnull函数,感觉比较容易理解,列出代码以供参考:
select a.vend_id,ifnull(prod_id,0) from Vendors a left join   //  第三步:查询Vendors表中的供应商名称及相应的种类数,由于使用的左连接,Vendors表里某些供应商在连接后可能没有数据,使用ifnull函数进行处理。
(select vend_id,count(prod_id) prod_id from Products 
group by vend_id) b  //  第一步:将Products表按供应商进行分组,求得各个供应商的供应产品种类数
on a.vend_id = b.vend_id   // 第二步:使用Vendors表与第一步查询好的表进行左连接,得到Vendors表中各供应商拥有的产品类别
order by vend_id asc  //  最后按供应商id升序排列
关于ifnull函数的使用:IFNULL(var1,var2),如果参数var1非空,则直接输出var1的值;如果var1为空,则输出自己设定的var2值。

全部评论

相关推荐

06-04 18:37
门头沟学院 Java
勇敢的ssr求对象:前面看的有点奔溃,看到只有你是真玩啊,忍不住笑出了声😂
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务