w3resource

SQL exercises on movie Database: Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown

SQL movie Database: Subquery Exercise-4 with Solution

4. From the following tables, write a SQL query to find for movies whose reviewer is unknown. Return movie title, year, release date, director first name, last name, actor first name, last name.

Sample table: movie


Sample table: actor


Sample table: director


Sample table: movie_direction


Sample table: movie_cast


Sample table: reviewer


Sample table: rating


Sample Solution:

SELECT mov_title, mov_year, mov_dt_rel, dir_fname, dir_lname, 
       act_fname, act_lname
	   FROM movie a, movie_direction b, director c, 
                rating d, reviewer e, actor f, movie_cast g
	   WHERE a.mov_id=b.mov_id
AND  b.dir_id=c.dir_id 
 AND a.mov_id=d.mov_id 
  AND  d.rev_id=e.rev_id 
   AND  a.mov_id=g.mov_id 
    AND g.act_id=f.act_id 
	 AND e.rev_name IS NULL;

Sample Output:

                     mov_title                      | mov_year | mov_dt_rel |      dir_fname       |      dir_lname       |      act_fname       |      act_lname
----------------------------------------------------+----------+------------+----------------------+----------------------+----------------------+----------------------
 Blade Runner                                       |     1982 | 1982-09-09 | Ridley               | Scott                | Harrison             | Ford
 Princess Mononoke                                  |     1997 | 2001-10-19 | Hayao                | Miyazaki             | Claire              | Danes
(2 rows)

Code Explanation:

The said query in SQL that selects various information about movies, directors, actors, and reviewers
from several tables in the movie database, but only for movies that have not been reviewed.
This query retrieve columns movie title, year,
date of release, director first and last names, actor first and last names from the tables join together are 'movie', 'movie_direction', 'director', 'rating', 'reviewer', 'actor', and 'movie_cast'.
The JOIN clause joins the 'movie' and 'movie_direction' table on "mov_id" column the 'movie_direction' and 'director' tables on "dir_id" column, the 'movie' and 'rating' tables on "mov_id" column, the 'rating' and 'reviewer' tables on "rev_id" column the 'movie' and 'movie_cast' tables on "mov_id" column , the 'movie_cast' and 'actor' tables on "act_id" column, and the "rev_name" column in 'reviewer' must be NULL (i.e., the movie has not been reviewed).

Relational Algebra Expression:

Relational Algebra Expression: Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown.

Relational Algebra Tree:

Relational Algebra Tree: Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown.

Practice Online


Movie database model

Query Visualization:

Duration:

Query visualization of Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown - Duration

Rows:

Query visualization of Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown - Rows

Cost:

Query visualization of Find the movie title, year, date of release, director and actor for those movies which reviewer is unknown - Cost

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: From the following table, write a SQL query to find those movies, which released in the country besides UK. Return movie title, movie year, movie time, date of release, releasing country.
Next: From the following tables, write a SQL query to find those movies directed by the director whose first name is ‘Woddy’ and last name is ‘Allen’. Return movie title.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

SQL: Tips of the Day

What is the best way to paginate results in SQL Server?

SELECT  *
FROM    ( SELECT    ROW_NUMBER() OVER ( ORDER BY OrderDate ) AS RowNum, *
          FROM      Orders
          WHERE     OrderDate >= '1980-01-01'
        ) AS RowConstrainedResult
WHERE   RowNum >= 1
    AND RowNum < 20
ORDER BY RowNum

Database: SQL Server

Ref: https://bit.ly/3MGrNlk

 





We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook