SELECT T1.fname ,  T1.age FROM student AS T1 JOIN has_pet AS T2 ON T1.stuid  =  T2.stuid JOIN pets AS T3 ON T3.petid  =  T2.petid WHERE T3.pettype  =  'dog' AND T1.stuid NOT IN (SELECT T1.stuid FROM student AS T1 JOIN has_pet AS T2 ON T1.stuid  =  T2.stuid JOIN pets AS T3 ON T3.petid  =  T2.petid WHERE T3.pettype  =  'cat')
Find the first name and age of students who have a dog but do not have a cat as a pet.
SELECT T1.fname , T1.age FROM student AS T1 JOIN has_pet AS T2 ON T1.stuid = T2.stuid JOIN pets AS T3 ON T3.petid = T2.petid WHERE T3.pettype = 'dog ' AND T1.stuid NOT IN ( SELECT T1.stuid FROM student AS T1 JOIN has_pet AS T2 ON T1.stuid = T2.stuid JOIN pets AS T3 ON T3.petid = T2.petid WHERE T3.pettype = 'cat ' )
select t1 . fname , t1 . age from student as t1 join has_pet as t2 on t1 . stuid = t2 . stuid join pets as t3 on t3 . petid = t2 . petid where t3 . pettype = value and t1 . stuid not in ( select t1 . stuid from student as t1 join has_pet as t2 on t1 . stuid = t2 . stuid join pets as t3 on t3 . petid = t2 . petid where t3 . pettype = value )
Find the first name and age of students who have a dog but do not have a cat as a pet .