Informática, perguntado por brunopenhaag, 10 meses atrás

O Gestor da empresa Aquarius Locações está pensando em atribuir algum tipo de bonificação aos aniversariantes de cada mês do ano. Porém, para isso ele necessita saber o nome dos empregados que farão aniversário em determinado período. A princípio, ele necessita saber o nome dos funcionários que fazem aniversário no mês de julho de 2018. Partindo deste caso apresentado acima, analise as afirmações e assinale a alternativa que atenda tal necessidade:
I - SELECT NM_FUNC FROM FUNC WHERE DT_NASC >= '01/07/2018';
II - SELECT NM_FUNC FROM FUNC WHERE DT_NASC <= '31/07/2018';
III - SELECT NM_FUNC FROM FUNC WHERE DT_NASC BETWEEN '01/07/2018' AND '31/07/2018';
IV - SELECT NM_FUNC FROM FUNC WHERE DT_NASC >= '01/07/2018' AND DT_NASC <= '31/07/2018'; É correto o que se afirma em:

Soluções para a tarefa

Respondido por ezequiellibonati10
7

Resposta:

Opções III e IV

Explicação:

Antes de fazer a explicação, observem que este operador ( >= ou <=) deve ser tratado como um operador relacional maior ou igual ou menor ou igual.

Sabendo-se disto, vamos comentar cada item da resolução:

A intenção da busca é sabermos todos os funcionários que fazem aniversário no mês de Julho, mês 07, logo:

I - SELECT NM_FUNC FROM FUNC WHERE DT_NASC >= '01/07/2018';

Resposta: Errada, pois o operador relacional é maior igual que 01/07/2018, logo, outros meses serão tratados na consulta por falta de limite na operação.

II - SELECT NM_FUNC FROM FUNC WHERE DT_NASC <= '31/07/2018';

Resposta: Errada, pois o mesmo ocorre neste item, pede-se menor igual que 31/07/2018. Na consulta, meses anteriores serão puxados pela busca como por exemplo o mês de Junho, Maio, Abril etc.

III - SELECT NM_FUNC FROM FUNC WHERE DT_NASC BETWEEN '01/07/2018' AND '31/07/2018';

Resposta: Certa, pois a função BETWEEN é usada para especificação na consulta do banco de dados. Desta vez, você percebe que o valor relacional maior igual a data 01/07/2018 e menor igual a data 31/07/2018, limitam o campo de busca somente para o mês de Julho.

IV - SELECT NM_FUNC FROM FUNC WHERE DT_NASC >= '01/07/2018' AND DT_NASC <= '31/07/2018';

Resposta: Também está certa pequeno gafanhoto. Observe que ele trabalha com a mesma tabela DT_NASC limitando dentro deste somente as datas do mês referente. A diferença para a questão três, por via das dúvidas, é que aqui precisou-se selecionar duas vezes o mesmo campo DT_NASC. Na questão anterior,  você fez isto somente uma única vez devido a função BETWEEN, essa é a diferença entre as duas questões.

Perguntas interessantes