How do I go about creating this SQL query?
You can self join to tables for this sort of criteria(at least, I can do this in SQL Server):

SELECT
     r.name,
     m.title
FROM
    rating rt
    JOIN movie m ON (rt.mid = m.mid)
    JOIN reviewer r on (rt.rid = r.rid)
    JOIN rating rt2 on (rt.mid = rt2.mid and rt.rid = rt2.rid)
WHERE
    rt.ratingDate &gt; rt2.ratingDate
    AND rt.stars &gt;  rt2.stars;


Note that we're joing rating back to itself.  This way we can use the WHERE clause to find rows in rating that are greater in both date and stars to other rows in rating.

You can review the full example I built in SQL Fiddle here.



If you want to add the condition that the reviewer made exactly these 2 reviews of the movie and no more, you can add:

    AND NOT EXISTS                                  --- not exists
        ( SELECT *
          FROM rating rt3                           --- another rating
          WHERE rt3.mid = m.mid                     --- for same movie
            AND rt3.rid = r.rid                     --- by same reviewer
            AND rt3.ratingDate &lt;&gt; rt2.ratingDate    --- on different date
            AND rt3.ratingDate &lt;&gt; rt1.ratingDate    --- than the first 2 reviews
        ) 


This assumes that the Rating table has  (rID, mID, ratingDate) as primary key.