Это необходимое условие:
select * from colors
where colorname is not null and (colorval <> 100 or colorname not in ('blue', 'yellow'))
Вам нужно, чтобы colorval не был равен 100, а colorname не должен быть синего, желтого в той же строке.Смотрите демо .Результаты:
| colorname | colorval |
| --------- | -------- |
| blue | 200 |
| blue | 300 |
| red | 200 |
| red | 300 |
| red | 100 |
| red | 400 |
| yellow | 200 |
| yellow | 300 |
Если у вас есть только эти 3 цвета, вы можете упростить это так:
select * from colors
where colorname is not null and (colorval <> 100 or colorname = 'red')