题解 | #使用join查询方式找出没有分类的电影id以及名称#

使用join查询方式找出没有分类的电影id以及名称

http://www.nowcoder.com/practice/a158fa6e79274ac497832697b4b83658

这题确实绕到我了,我开始有点懵 错误示范 select distinct t3.film_id,t3.title from category t2 join film_category t1 join film t3 where t3.film_id not in (select film_id from film_category) and t2.category_id not in (select category_id from film_category); 分析一下,在MySQL中可以运行,线上也可以运行,但是结果不对 通过join关联但是没有没有关联条件,也就是没有on 会导致cross join 笛卡尔积

正确分析是通过film 和film_category进行左关联left join,去掉没有category_id的即可了

正确示范: select f.film_id "电影ID",f.title as "电影名称" from film f left join film_category fc on f.film_id = fc.film_id where fc.category_id is null;

全部评论

相关推荐

在努力的外卷侠很靠谱:怎么,大家都没保底吗?我这美团已经入职了,不说了,系统派单了。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务