Faça uma consulta que mostre o valor medio de vendas do ano de 2017 ? Por mim não tem sentido esta pergunta ?

oi , union ele une tabelas com atributos que tem mesmo tipo , aqui tem um exemplo parecido
SELECT id, mensagem FROM mensagem
UNION
SELECT código, localidade FROM postal

Sim, sua query os atributos são do mesmo tipo.
Tanto que ele trouxe…
Conforme você colocou no código
idvenda e valortotal
e logo abaixo
idCliente e salario

Bom, estou dizendo que levou pela query e sem ver sua tabela original com as informações.

O que eu quis dizer sobre a comparação e sobre ser tabelas diferentes…
Vou tentar dar um exemplo…
Usando a tabela venda.

Select idvenda, valorTotal from venda where dataVenda = 20/01/2017
union
Select idvenda, valorTotal from venda where dataVenda = 20/03/2017

Ele faria um distinct e iria trazer de acordo com o que estava no where, sem duplicadas.
E com o union all, iria trazer tudo, mesmo com duplicadas…

Em questão de union sou um pouco leigo, mas o jeito que você fez irá dar certo, mas irá trazer tudo embolado assim

entendi valeu , eu vi um video do boson treinamentos aqui no you tube, fica assim mesmo , uma salada, mas mesmo assim grato ai .

Espero não ter te confundido… kkk
Precisando, estou à disposição!

amigo , eu agora estacionei no minus, se sabe esta ? tenho prova hoje , se não pesquisaria com calma, o foda que a prova vai ser escrita.kkkk

Qual seria a dúvida?
Ele pega as linhas distintas de uma consulta e retorna as linhas que não aparecem em um segundo conjunto de resultados…

estou tentando pegar a idade , e não consigo neste :select *from cliente where idade<=45
minus select *from cliente where between 23 and 25;

Não faltou a condição idade no segundo conjunto?
O minus vai pegar os resultados do primeiro conjunto, que não tenha no segundo…

Nesse seu comando, ele vai pegar todos com <=45, cujo, não esteja entre 23 e 25…

Isto ai , eu entendi , só não sei por que não tá indo .

Me envie um print da sua tabela cliente preenchida por favor.

Voce corrigiu ela para :
select *from cliente where idade<=45
minus select *from cliente where idade between 23 and 25;

Se sim, me envie a mensagem que lhe apresenta ao tentar rodar

continua com erro .affs

Qual a mensagem de erro?

Conseguiu achar o erro ?

Eu uso o MySql, e não tem MINUS
Me desculpe pela demora…
Realize um teste por favor.
Tente fazer comparação entre duas tabelas diferentes para verificar se apresenta algum erro…

vou tentar entao

Espera , não faz sentido , por que o minus ele vai tirar os valores que estão na mesma tabela .

O operador MINUS devolve os registros que resultam do primeiro
SELECT e não aparecem no segundo