is there any person who has no student friends
select * from person except select * from person as t1 join personfriend as t2 on t1.name = t2.friend where t1.job = 'student'
is there any person friend for this persons
select name from person except select t2.name from person as t1 join personfriend as t2 on t1.name = t2.friend where t1.job = 'student' intersect select t3.name from person as t4 join personfriend as t3 on t4.name = t3.friend
ok, list the name of the person who has no student friend in ascending order
select name from person except select t2.name from person as t1 join personfriend as t2 on t1.name = t2.friend order by name desc