Algo no está bien. El
where sólo aplica al
select anterior (Nissan en este caso) y no a toda la unión. Si ningún nissan tiene clave=1, debería regresarte sólo los de peugeot.
Si quieres aplicar una condición a toda la unión, puedes hacerlo a través de una subconsulta:
Código SQL
[-]
select * from
(
select name,age from football
union
select name,age from baseball
)
as tabla_union
where age >= 21
// Saludos