For each movie that has at least one rating, find the highest number of stars that movie received. Return the movie title and number of stars. Sort by movie title.
SQL Movie-Rating Query Exercises (core set)
You've started a new movie-rating website, and you've been collecting data on reviewers' ratings of various movies. There's not much data yet, but you can still try out some interesting queries. Here's the
schema:
Movie ( mID, title, year, director )
English: There is a movie with ID number mID, atitle, a releaseyear, and adirector.
Reviewer ( rID, name )
English: The reviewer with ID number rID has a certainname.
Rating ( rID, mID, stars, ratingDate )
English: The reviewer rID gave the moviemID a number ofstars rating (1-5) on a certainratingDate.
mID | title | year | director |
---|---|---|---|
101 | Gone with the Wind | 1939 | Victor Fleming |
102 | Star Wars | 1977 | George Lucas |
103 | The Sound of Music | 1965 | Robert Wise |
104 | E.T. | 1982 | Steven Spielberg |
105 | Titanic | 1997 | James Cameron |
106 | Snow White | 1937 | <null> |
107 | Avatar | 2009 | James Cameron |
108 | Raiders of the Lost Ark | 1981 | Steven Spielberg |
Reviewer
rID | name |
---|---|
201 | Sarah Martinez |
202 | Daniel Lewis |
203 | Brittany Harris |
204 | Mike Anderson |
205 | Chris Jackson |
206 | Elizabeth Thomas |
207 | James Cameron |
208 | Ashley White |
Rating
rID | mID | stars | ratingDate |
---|---|---|---|
201 | 101 | 2 | 2011-01-22 |
201 | 101 | 4 | 2011-01-27 |
202 | 106 | 4 | <null> |
203 | 103 | 2 | 2011-01-20 |
203 | 108 | 4 | 2011-01-12 |
203 | 108 | 2 | 2011-01-30 |
204 | 101 | 3 | 2011-01-09 |
205 | 103 | 3 | 2011-01-27 |
205 | 104 | 2 | 2011-01-22 |
205 | 108 | 4 | <null> |
206 | 107 | 3 | 2011-01-15 |
206 | 106 | 5 | 2011-01-19 |
207 | 107 | 5 | 2011-01-20 |
208 | 104 | 3 | 2011-01-02 |
Question 1
Find the titles of all movies directed by Steven Spielberg.
select title from Movie where director='Steven Spielberg'
Question 2
Find all years that have a movie that received a rating of 4 or 5, and sort them in increasing order.
select year from Movie where mID in (select mID from Rating where stars in (4, 5)) order by year;
Question 3
Find the titles of all movies that have no ratings.
select title from Movie where mID not in (select mID from Rating)
Question 4
select distinct name from Reviewer natural join Rating where ratingDate is null
Question 5
Question 6
Question 7