select s.name 
from students s, reservation r, movie m
where s.id = r.id and m.mid = r.mid and m.type='action'
intersect 
select s.name 
from students s, reservation r, movie m
where s.id = r.id and m.mid = r.mid and m.type='fiction';

select s.name from students s
where s.id in 
   (select r.id from reservation r 
    group by r.id having count(*) >= 2);

select s.name from students s 
where s.status <> 'Senior' and 
      s.id not in (select r.id from reservation r);

select s.name from students s where 
  not exists 
     select m.mid from movie m 
     except 
     select r.mid from reservation r where s.id = r.id; 

select s.name, s.id, count(*) as noofMR 
from students s, reservation r 
where s.id = r.id 
group by s.id, s.name 
union 
select s.name, s.id, 0 as noofMR 
from students s
where s.id not in (select r.id from  reservation r);