📜  FILM 数据库上的 SQL 查询(1)

📅  最后修改于: 2023-12-03 14:41:11.458000             🧑  作者: Mango

FILM 数据库上的 SQL 查询

FILM 数据库是一个典型的电影数据库,包含了电影、演员、导演等多个实体。在使用 SQL 对 FILM 数据库进行查询时,可以实现很多有趣的功能,如查找某个演员的所有电影、列出所有电影的评分排序等等。

下面是一些常见的 SQL 查询,可以为程序员提供一些灵感。

查询演员出演的电影

要查询某个演员出演的所有电影,可以使用下面的 SQL 语句:

SELECT film.title FROM film 
JOIN film_actor ON film.film_id = film_actor.film_id 
JOIN actor ON film_actor.actor_id = actor.actor_id 
WHERE actor.first_name = 'Tom' AND actor.last_name = 'Hanks';

这个查询基于演员的名字,通过多个表之间的 JOIN 操作关联了电影和演员实体,最后只返回关联到的电影的标题。

按照评分排序

要按照电影评分进行排序,可以这样做:

SELECT title, rating FROM film 
ORDER BY rating DESC;

这个查询简单明了,只需要通过 ORDER BY 子句按评分倒序排序即可。

查询某个导演的电影数量

要查询某个导演拍摄的电影数量,可以使用这个 SQL 语句:

SELECT COUNT(*) FROM film 
JOIN film_director ON film.film_id = film_director.film_id 
JOIN director ON film_director.director_id = director.director_id 
WHERE director.first_name = 'Martin' AND director.last_name = 'Scorsese';

这个查询使用了 COUNT(*) 函数来计算结果集的数量,通过 JOIN 操作把电影和导演实体关联起来,并按照导演名字进行筛选。

查询某个电影的演员列表

要查询某个电影的演员列表,可以使用下面的 SQL 语句:

SELECT actor.first_name, actor.last_name FROM actor 
JOIN film_actor ON actor.actor_id = film_actor.actor_id 
JOIN film ON film_actor.film_id = film.film_id 
WHERE film.title = 'Forrest Gump';

这个查询使用了 JOIN 操作把演员、电影和电影-演员映射表关联起来,并按照电影名字进行查询,最终只返回那些关联到该电影的演员列表。

查询某个类型的电影

要查询某个类型的电影,可以使用下面的 SQL 语句:

SELECT title, category.name FROM film 
JOIN film_category ON film.film_id = film_category.film_id 
JOIN category ON film_category.category_id = category.category_id 
WHERE category.name = 'Comedy' 
ORDER BY film.title ASC;

这个查询使用了 JOIN 操作关联电影和电影-类型映射表,并按照类型名字进行查询,最终只返回那些关联到该类型的电影。此外,还使用了 ORDER BY 子句按照电影标题的字母升序排序。

查询电影的详细信息

要查询电影的详细信息,可以使用下面的 SQL 语句:

SELECT film.title, film.description, language.name AS language, 
    category.name AS category, film.rental_rate, 
    film.length, film.release_year, film.rating 
FROM film 
JOIN language ON film.language_id = language.language_id 
JOIN film_category ON film.film_id = film_category.film_id 
JOIN category ON film_category.category_id = category.category_id 
WHERE film.title = 'Pulp Fiction';

这个查询使用了多个 JOIN 操作,将电影、语言、类型等多个实体关联起来,并按照电影名字进行筛选。最终返回了一份详细的电影信息列表。

总结

以上是 FILM 数据库上的一些常见 SQL 查询,它们涉及到了 JOIN 操作、聚合函数、排序以及多个表之间的关联等多种功能。在实际的开发过程中,程序员可以根据需求灵活运用这些查询,从而让应用程序更加丰富多彩。