Considere a tabela em anexo:
Seja a consulta:
SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F' OR SALARIO>5000;
Qual alternativa a seguir representa um código equivalente ao da consulta acima?
A) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F' AND SALARIO>5000;
B) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F'
EXCEPT
SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SALARIO>5000;
C) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SALARIO>5000;
D) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F';
E) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F'
UNION
SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SALARIO>5000;
Respostas
Resposta:
E) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F'
UNION
SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SALARIO>5000;
Explicação:
Pq as duas condições se mantêm que são, SALARIO > 5000 e SEXO = 'F'
Uma outra forma de escrever o código SQL do enunciado trazendo o mesmo resultado seria:
SELECT NOME, CPF, SEXO FROM EMPREGADO
WHERE SEXO= 'F'
UNION
SELECT NOME, CPF, SEXOFROM EMPREGADO
WHERE SALARIO>5000;
A alternativa correta é a e).
O comando UNION na linguagem SQL
O comando UNION na linguagem SQL combina duas ou mais queries retornando só um resultado.
A consulta original especifica dois requisitos para o SELECT:
- Linhas que o campo SEXO seja feminino OU
- Linhas que o campo SALARIO seja maior que 5000
Como a condição aceita resultados que tenha apenas um dos dois critérios, pode-se utilizar do UNION para unir as duas consultas, cada uma com sua condição WHERE.
Você pode aprender mais sobre SQL aqui:
https://brainly.com.br/tarefa/46791998
#SPJ2
E) SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SEXO= 'F'
UNION
SELECT NOME, CPF, SEXO
FROM EMPREGADO
WHERE SALARIO>5000;
Fonte: Simulado Estácio