w3resource

SQL exercises on movie Database: Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated

SQL movie Database: Subquery Exercise-9 with Solution

9. From the following tables, write a SQL query to find movies that have been reviewed by a reviewer and received a rating. Sort the result-set in ascending order by reviewer name, movie title, review Stars. Return reviewer name, movie title, review Stars.

Sample table : reviewer


Sample table : rating


Sample table : movie


Sample Solution:

SELECT rev_name, mov_title, rev_stars 
 FROM reviewer, rating, movie 
  WHERE reviewer.rev_id=rating.rev_id 
   AND movie.mov_id=rating.mov_id 
     AND reviewer.rev_name IS NOT NULL 
       AND rating.rev_stars IS NOT NULL
ORDER BY rev_name, mov_title, rev_stars;

Sample Output:

            rev_name            |                     mov_title                      | rev_stars
--------------------------------+----------------------------------------------------+-----------
 Brandt Sponseller              | Aliens                                             |      8.40
 Flagrant Baronessa             | Lawrence of Arabia                                 |      8.30
 Hannah Steele                  | Donnie Darko                                       |      8.10
 Jack Malvern                   | The Innocents                                      |      7.90
 Josh Cates                     | Good Will Hunting                                  |      4.00
 Krug Stillo                    | Braveheart                                         |      7.70
 Mike Salvati                   | Annie Hall                                         |      8.10
 Paul Monks                     | Boogie Nights                                      |      3.00
 Richard Adams                  | Beyond the Sea                                     |      6.70
 Righty Sock                    | Titanic                                            |      7.70
 Righty Sock                    | Vertigo                                            |      8.40
 Sasha Goldshtein               | American Beauty                                    |      7.00
 Simon Wright                   | The Usual Suspects                                 |      8.60
 Victor Woeltjen                | Avatar                                             |      7.30
 Vincent Cadena                 | Slumdog Millionaire                                |      8.00
(15 rows)

Code Explanation:

The said query in SQL that selects data from the tables reviewer, rating, and movie. As a result, it will retrieve the name of the reviewer, the title of the movie, as well as the number of stars that the reviewer has given in their rating.
The condition is specifies that the reviewer ID in the reviewer table must match the reviewer ID in the rating table, and the movie ID in the movie table must match the movie ID in the rating table. It also specifies that the reviewer name and rating stars must not be null.
The results are sorted in ascending order by reviewer name, movie title, and rating stars.

Relational Algebra Expression:

Relational Algebra Expression: Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated.

Relational Algebra Tree:

Relational Algebra Tree: Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated.

Practice Online


Movie database model

Query Visualization:

Duration:

Query visualization of Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated - Duration

Rows:

Query visualization of Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated - Rows

Cost:

Query visualization of Find the reviewer name, movie title, and stars for those movies which reviewed by a reviewer and must be rated - Cost

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

Previous: From the following tables, write a SQL query to find those reviewers who have rated nothing for some movies. Return reviewer name.
Next: From the following table, write a SQL query to find those reviewers who rated more than one movie. Group the result set on reviewer’s name, movie title. Return reviewer’s name, 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