3
respostas

or ou and??

SELECT FROM COMPRAS WHERE DATA >= '2008-12-15' AND DATA < '2010-12-15'; ou SELECT FROM compras where data >= '2008-12-15' or data <='2010-12-15'; ?????

3 respostas

Oi Kennedy, tudo bem? Isso depende, eu não entendi bem sua dúvida. Procura sempre deixar o contexto da dúvida bem claro, por que assim fica mais fácil te ajudar, mesmo não tendo feito o curso.

Kennedy,

você vai usar o and quando você deseja um intervalo, ou seja DATA >= '2008-12-15' e DATA < '2010-12-15'. os registros que retornarão deverão ter data dentro desse intervalo, por exemplo, '2009-12-15'. No caso do or, seu resultado ira retornar todos os registros com data >= '2008-12-15'. O seu or data <='2010-12-15' nesse caso não serve para nada.

Olá Kennedy,

Usando AND, você obterá todas as compras com data entre 15 de dezembro de 2008 (inclusive) e 14 de dezembro de 2010. Veja que, como você usou "menor", as compras de 15 de dezembro não seriam obtidas.

Usando OR, você obteria todas as compras. Por exemplo, uma compra de 16 de dezembro de 2010 seria obtida pois contempla "data >= '2008-12-15' ". O mesmo vale para uma compra de 14 de dezembro de 2008, pois contempla "data <='2010-12-15' ".

Se pensarmos em conjuntos, AND representa intersecção de elementos; OR representa união.

Avisa aí se ainda houver dúvidas.

Bons estudos.