Olá galera o/

Hoje venho trazer mais uma dica para vocês.  Ultimamente tenho utilizado muito o isolamento de condições dentro do filtro da consulta (WHERE). Você pode estar se perguntando como assim Isolamento, mas eu explicarei detalhadamente para melhor entendimento.

Imaginem uma consulta que eu queira trazer os funcionários que são do sexo masculino e foram demitidos, sendo que na mesma consulta você quer retornar os funcionários do sexo feminino e que não foram demitidos. Para ter este retorno teriamos que criar duas consultas distintas ou utilizar o UNION para unificar todos os dados.

SELECT * FROM FUNCIONARIO
WHERE SEXO = ‘M’
AND DATADEMISSAO IS NOT NULL

SELECT * FROM FUNCIONARIO
WHERE SEXO = ‘F’
AND DATADEMISSAO IS NULL

Resultado com 2 consultas distintas

SELECT * FROM FUNCIONARIO
WHERE SEXO = ‘M’
AND DATADEMISSAO IS NOT NULL
UNION
SELECT * FROM FUNCIONARIO
WHERE SEXO = ‘F’
AND DATADEMISSAO IS NULL

Resultado utilizando UNION

Mas irei mostrar nessa postagem como inserir ambas as condições na mesma consulta, sem precisar de utilizar UNION ou duas consultas distintas.

Vamos la!!!

Condição 1: sexo = M e ser demitido

Condição 2: sexo = F e não estar demitida

Primeiro isolamos a condição 1, utilizando o parenteses como mostrado no código abaixo, após isolarmos a condição 1, inserimos o operador de condição OR (OU) e inserimos a condição 2 isolada por parenteses. Vejam que o resultado é o mesmo do UNION, porém informamos todas as condições que queríamos atender dentro de uma unica consulta.

SELECT *
FROM FUNCIONARIO
WHERE (SEXO = ‘M’ AND DATADEMISSAO IS NOT NULL)
OR (SEXO = ‘F’ AND DATADEMISSAO IS NULL)

Isolando as condições no WHERE

Espero que tenham gostado.

Quem quiser mandar comentários, sugestões, criticas e complementos, fiquem a vontade, pois feedbacks engradecem tanto meu conhecimento quanto para melhorar as postagem para vocês.

Até a próxima o/

Divulguem nossas Redes Sociais:

Curtam nossa página no Facebook

Curtam nossa página no Google+

Nos sigam no Twitter

Se inscreva no nosso canal do Youtube