Unknown column in a table
The error is being generated because you currently aren't joining your sailor table to reserve so the engine doesn't have any reference to the reserve table.

In order to make the reserve table available, you'll need to JOIN the tables on the sid column similar to:

select s.sname 
from sailor s
inner join reserve r
  on s.sid= r.sid 
where r.bid=103;


Or if you just want to return the sname that exists in the reserve table, then you could use EXISTS:

select s.sname
from sailor s
where exists (select 1 
              from reserve r
              where bid = 103
                and s.sid = r.sid);


If you needed to include all 3 tables in a single query, then you would use:

select s.name
from sailor s
inner join reserve r
  on s.sid = r.sid
inner join boat b
  on r.bid = b.bid