If we're looking for obscure/inefficient ways to produce the requested output:
select *
from stud_mast o
where
(select month( dob ) from stud_mast i where i.pk = o.pk) != 1
and
(select month( dob ) from stud_mast i where i.pk = o.pk) != 3
and
(select month( dob ) from stud_mast i where i.pk = o.pk) != 4
and
(select month( dob ) from stud_mast i where i.pk = o.pk) != 5
and
(select month( dob ) from stud_mast i where i.pk = o.pk) != 9
and
(select month( dob ) from stud_mast i where i.pk = o.pk) != 10
Perhaps the question should not have asked "is there any other way" (there are almost always other/worse ways) but could have asked "is there a more efficient way than.."
I think if we're going to be challenged with writing different SQL, it should be to produce more useful code - not less.