Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvida no Ex. 13 da Aula 1 - Consultando os dados

SELECT * FROM COMPRAS WHERE RECEBIDO = 1 OR VALOR > 5000

este codigo esta retornando valores que nao foram recebidos, no entanto tambem menores que 5000. Ficou meio divergente nao?!

6 respostas

Ricardo , Bom dia !

sim pode acontecer isso mesmo , devido a condição pode ser que tenha valor maior que 5000 mas que não esteja recebido , e também pode ser que tenha valor menor que 5000 e que foram recebido .

só iria retornar se trocasse o operrado logico para and ai sim só iria mostrar os valores maiores que 5000 e que foram recebido .

bom espero ter ajudado , Bons Estudos

Bom dia Celso, desde já agradeço. Entendi a proposta do exercício. O operador OR quer dizer que tem que satisfazer pelo menos uma das condições. No entanto, o que quis dizer, é que essa query retorna um valor que não foi recebido tanto quanto menor que 5000, ou seja, não satisfaz nenhuma das condições. Exemplo do que ele retorna ultizando o banco fornecido pelo proprio curso.

campo valor =3500 e campo recebido=0 (false) = isso para televisao campo valor=12.34 e campo recebido=0(false)= isso para lanchonete

e mais alguns que nao citei .

solução!

Bom dia Rodrigo, você não trocou o sinal de maior (>) pelo sinal de menor (<) ? A query está correta,deveria retornar os produtos recebidos ou com valor maior que 5000

Ricardo*, mals

Ricardo*, mals

Resolvido. Obrigado Hugo