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

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

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值。

全部评论

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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