Questão 8 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)

questão 8 operadores postgresql

Veja abaixo como resolver a questão sobre combinação de resultados de consultas usando os operadores UNION, INTERSECT e EXCEPT no PostgreSQL.

O resultado de duas consultas pode ser combinado na 

linguagem PostgreSQL através da seguinte sintaxe: 

comando1 UNION [ALL] comando2 

comando1 INTERSECT [ALL] comando2 

comando1 EXCEPT [ALL] comando2

Com base nessa sintaxe, é correto afirmar que 

(A) UNION anexa o resultado do comando2 no resul-

tado do comando1, na ordem em que as linhas são 

retornadas pela consulta. 

(B) UNION ALL anexa o resultado do comando2 no 

resultado do comando1, eliminando as linhas 

duplicadas. 

(C) INTERSECT retorna todas as linhas presentes tanto 

no resultado do comando1 quanto no resultado do 

comando2, eliminando as linhas duplicadas. 

(D) INTERSECT ALL retorna todas as linhas presentes

no resultado do comando1 que não estão presentes 

no resultado do comando2. 

(E) EXCEPT ALL retorna as linhas que estão no resul-

tado do comando2, mas não estão no resultado do 

comando1, mantendo as linhas duplicadas.

Vamos analisar cada alternativa:

(A) UNION anexa o resultado do comando2 no resultado do comando1, na ordem em que as linhas são retornadas pela consulta.

Errada. O UNION combina os resultados das consultas, mas não especifica uma ordem particular para as linhas.

(B) UNION ALL anexa o resultado do comando2 no resultado do comando1, eliminando as linhas duplicadas.

Errada. O UNION ALL combina os resultados das consultas, incluindo todas as linhas, mesmo que sejam duplicadas.

(C) INTERSECT retorna todas as linhas presentes tanto no resultado do comando1 quanto no resultado do comando2, eliminando as linhas duplicadas.

Essa afirmação está correta. INTERSECT retorna as linhas que estão presentes em ambos os conjuntos de resultados das consultas, eliminando as duplicatas.

(D) INTERSECT ALL retorna todas as linhas presentes no resultado do comando1 que não estão presentes no resultado do comando2.

Errada. INTERSECT ALL retorna todas as linhas presentes em ambos os resultados das consultas, sem eliminar duplicatas.

(E) EXCEPT ALL retorna as linhas que estão no resultado do comando2, mas não estão no resultado do comando1, mantendo as linhas duplicadas.

Essa descrição não está correta, não existe EXCEPT ALL em SQL padrão.

O operador EXCEPT em SQL retorna as linhas que estão presentes no resultado do comando1 e não estão no resultado do comando2, eliminando as duplicatas. O EXCEPT simplesmente retorna as linhas distintas do conjunto de resultados da primeira consulta que não estão presentes no conjunto de resultados da segunda consulta.

Portanto, a descrição da opção (E) está equivocada em relação ao complemento do operador EXCEPT.

Resposta correta:

Portanto, a alternativa correta é de fato a (C).

Assunto da questão:

O assunto dessa questão é sobre a combinação de resultados de consultas usando os operadores UNION, INTERSECT e EXCEPT no PostgreSQL. Para dominar esse assunto, é importante entender como esses operadores funcionam e como aplicá-los em consultas SQL para obter os resultados desejados.

Quer acompanhar as novidade do site?

Leia mais em: onteudo.portalfaurgs.com.br/a...

Questão 8 - HCPA 2016 - ANALISTA DE TI (DESENVOLVIMENTO)

Última atualização: 2024-02-22