题目描述
使用 join
查询方式找出没有分类的电影 id
以及名称。
film表
字段 | 说明 |
---|---|
film_id | 电影 id |
title | 电影名称 |
description | 电影描述信息 |
category表
字段 | 说明 |
---|---|
category_id | 电影分类 id |
name | 电影分类名称 |
last_update | 电影分类最后更新时间 |
film_category表
字段 | 说明 |
---|---|
film_id | 电影 id |
category_id | 电影分类 id |
last_update | 电影id和分类id对应关系的最后更新时间 |
考察知识点
左外联结,右外联结 的使用。
解题思路
1️⃣ 按照题目的要求使用 LEFT JOIN
来将 film
表和 film_category
表连接起来,选择 last_update IS NULL
的数据。
SELECT f.film_id, title
FROM film f LEFT JOIN film_category fc
ON f.film_id = fc.film_id
WHERE last_update IS NULL
2️⃣ 不使用 JOIN
,使用子查询的方式,查询 film_category
表中的 film_id
列,再在 film
表中查询 film_id
不再子查询结果列中的数据。
SELECT film_id, title
FROM film
WHERE film_id NOT IN (SELECT film_id
FROM film_category)
题目来源:牛客网-SQL数据库实战题
✅ 每日打卡,❤ 点个赞再走吧!!!❤
后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。