I've tried search for this and I'm not sure I'm using the correct terminology, but is it possible to have a nested WHERE AND clause?:
select id from tabel_1 where first_name = 'Jay' and last_name = 'McDonald' and (age = 18 and hair_colour = black)
So the nested AND would "and (age != 18 and hair_colour != black)" so you could have:
first_name = 'Jay' evaluate to true
last_name = 'McDonald' evaluate to true
(age = 18 and hair_colour = black) only evaluate to true if both age and hair_colour are true
With the idea that only ids with both 18 and black are exclude, but not ids with just black or just 18