0
点赞
收藏
分享

微信扫一扫

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

冶炼厂小练 2022-02-13 阅读 18

文章目录

1. 题目

  • 题目来源:SQL30 使用子查询的方式找出属于Action分类的所有电影对应的title,description

  • 题目描述
    使用子查询的方式找出属于Action分类的所有电影对应的title,description

  • 三张表
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2. 题解

注意,题目表中的字段都是竖着显示的。

思路:考察子查询

方法一:FROM 子查询,用JOIN

# 方法一:FROM 子查询,用JOIN
SELECT t.title, t.description
FROM (SELECT f.*, c.name
      FROM film f
      JOIN film_category fc 
      ON f.film_id = fc.film_id
      JOIN category c
      ON c.category_id = fc.category_id) t
WHERE t.name = 'Action'

方法二:WHERE子查询,用IN

# 方法二:WHERE子查询,用IN

SELECT title, description 
FROM film 
WHERE film_id IN (SELECT film_id
                 FROM film_category
                 WHERE category_id = (SELECT category_id 
                                      FROM category
                                      WHERE name = 'Action')
                 )

3. 反思:子查询

其实这两种子查询体现了两种解决问题的方式,

一种是按图索骥,一层一层去寻找;
另一种找到所有的条件,答案就显而易见了。

举报

相关推荐

0 条评论