• 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.