SQL28 查找描述信息中包含robot的電影對(duì)應(yīng)的分類名稱以及電影數(shù)目取募,而且還需要該分類對(duì)應(yīng)電影數(shù)量>=5部
思路:三表連接
需要仔細(xì)拆解題目的意思琐谤。
注意事項(xiàng):
描述信息中包含robot使用LIKE;
分類要求包含電影總數(shù)量,是對(duì)于分類類別的要求玩敏,而不是對(duì)于包含robot電影的要求斗忌,所以不能直接在條件f.description like '%robot%'
后面直接根據(jù)條件篩選count(film_category.film_id)>=5质礼;
題目中有誤導(dǎo),分類的電影總數(shù)量應(yīng)該是count(film_categoryfilm_id)织阳,而不是count(film_category.category_id)
解答:
SELECT a.`name`,count(a.film_id) FROM
(SELECT f.film_id, f.title,fc.category_id,c.`name`
FROM film as f
inner JOIN film_category as fc on fc.film_id = f.film_id
INNER join category as c on c.category_id = fc.category_id
WHERE f.description like '%robot%') as a? ? ? ? ##查找出帶有robot的電影
inner JOIN
(SELECT fc.category_id,count(fc.film_id) as num? FROM film_category as fc
GROUP BY fc.category_id
HAVING num >= 5) as b? ?????????###查找出存在>=五部的電影類型
on a.category_id = b.category_id
SQL29?使用join查詢方式找出沒有分類的電影id以及名稱
解答:
內(nèi)連接+not in
SELECT film_id,title FROM film
WHERE film_id not in
(SELECT fc.film_id FROM film_category as fc
JOIN category as c
on c.category_id = fc.category_id)
SQL30使用子查詢的方式找出屬于Action分類的所有電影對(duì)應(yīng)的title,description
解答:
子查詢眶蕉,即不可以用join連接
SELECT
title,
description
FROM
film
WHERE
film_id IN ( SELECT film_id FROM film_category WHERE category_id IN ( SELECT category_id FROM category WHERE NAME = "Action" ) )