1. 程式人生 > >28. 查詢描述資訊中包括robot的電影對應的分類名稱以及電影數目,而且還需要該分類對應電影數量>=5部

28. 查詢描述資訊中包括robot的電影對應的分類名稱以及電影數目,而且還需要該分類對應電影數量>=5部

題目描述

film表

欄位

說明

film_id

電影id

title

電影名稱

description

電影描述資訊

CREATE TABLE IF NOT EXISTS film (

film_id smallint(5)  NOT NULL DEFAULT '0',

title varchar(255) NOT NULL,

description text,

PRIMARY KEY (film_id));

category表

欄位

說明

category_id

電影分類id

name

電影分類名稱

last_update

電影分類最後更新時間

CREATE TABLE category  (

category_id  tinyint(3)  NOT NULL ,

name  varchar(25) NOT NULL, `last_update` timestamp,

PRIMARY KEY ( category_id ));

film_category表

欄位

說明

film_id

電影id

category_id

電影分類id

last_update

電影id和分類id對應關係的最後更新時間

CREATE TABLE film_category  (

film_id  smallint(5)  NOT NULL,

category_id  tinyint(3)  NOT NULL, `last_update` timestamp);

查詢描述資訊中包括robot的電影對應的分類名稱以及電影數目,而且還需要該分類對應電影數量>=5部

SELECT
	c.name,
	count(fc.film_id) AS `count`
FROM
	category c,
	film f,
	film_category fc,
	(
		SELECT
			category_id
		FROM
			film_category
		GROUP BY
			category_id
		HAVING
			count(film_id) >= 5
	) AS cc
WHERE
	f.description LIKE '%robot%'
AND f.film_id = fc.film_id
AND fc.category_id = c.category_id
AND c.category_id = cc.category_id;