数据库SQL实战-查找描述信息中包括robot的电影对应的分类名称以及电影数目(mysql)

1. 查找描述信息中包括robot的电影对应的分类名称以及电影数目

1.1 题目描述

film表

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表

CREATE TABLE category (
category_id tinyint(3) NOT NULL ,
name varchar(25) NOT NULL, last_update timestamp,
PRIMARY KEY ( category_id ));

film_category表

CREATE TABLE film_category (
film_id smallint(5) NOT NULL,
category_id tinyint(3) NOT NULL, last_update timestamp);

问题

查找描述信息(film.description)中包含robot的电影对应的分类名称(category.name)以及电影数目(count(film.film_id)),而且还需要该分类包含电影总数量(count(film_category.category_id))>=5部

1.2 语句实现

select c.name, count(f.film_id)
from film f
join film_category fc on f.film_id = fc.film_id
join category c on fc.category_id = c.category_id
where f.description like '%robot%' 
and c.category_id in (select category_id
                     from film_category
                     group by category_id
                     having count(film_id) >= 5)

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

2.1 题目描述

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

2.2 语句实现

select f.film_id, f.title
from film f
left join film_category fc on f.film_id = fc.film_id
left join category c on fc.category_id = c.category_id
where c.category_id is null;

3. 使用子查询的方式找出属于Action分类的所有电源对应的title和description

3.1 题目描述

你能使用子查询的方式找出属于Action分类的所有电影对应的title,description吗

3.2 语句实现

select f.title, f.description
from film f 
where f.film_id in (select fc.film_id 
                    from film_category fc
                    where fc.category_id = (select c.category_id 
                                           from category c 
                                           where name = 'Action'))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值