Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2021

Banco de DadosSQL
Código
fg044921
Banca
FGV
Órgão
SEFAZ-ES
Ano
2021
Nível
Superior
Cargo
Auditor Fiscal da Receita Estadual - Manhã
Utilize as tabelas T, R e S para resolver a próxima questão

Considere um banco de dados relacional contendo as tabelas T, R e S, cujas instâncias são exibidas a seguir. 

T
A         B                                                                                      C
10       LPG Participações                                                           S
20       Serviços & Gerenciamento Remoto                                N
50       Academia Americana                                                       S
70       Distribuidora São João de Artigos para Festas               S

R
D                E                                     F
12040         21/06/2021                    200,00
12041         23/06/2021                    548,00
1497           15/06/2021                    147,10
1498           15/06/2021                      85,00
214             18/06/2021                      99,00
215             19/06/2021                    997,45 

S
G          H              I
10        12040       12
10        12041       12
50        1497         12
50        1498         10
70         214          20
50         215          12
No contexto da instância da tabela S, considere a execução do comando SQL a seguir.SELECT * FROM S WHERE (NOT G=10 OR I=12) AND NOT (H > 100 and H < 1000) Assinale o conjunto de linhas que corresponde ao resultado produzido pelo referido comando.
  1. A10 12040 1210 12041 12
  2. B10 12040 1210 12041 1250 1497 12
  3. C50 215 1270 214 20
  4. D10 12040 1210 12041 1250 1497 1250 1498 10
  5. E50 1497 1250 1498 10
Revelar gabarito e comentário

GabaritoD — 10 12040 12 10 12041 12 50 1497 12 50 1498 10

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Comando SQL sobre a tabela S

Gabarito: letra D. A consulta retorna as linhas que satisfazem ambas as condições: (G != 10 OR I = 12) e (H <= 100 OR H >= 1000). Aplicando à instância da tabela S, obtém-se exatamente as quatro linhas da alternativa D.

Dados da tabela S:

G

H

I

10

12040

12

10

12041

12

50

1497

12

50

1498

10

70

214

20

50

215

12

Avaliação da condição WHERE:

  • Linha 1 (10,12040,12): (NOT G=10 OR I=12) = (FALSE OR TRUE) = TRUE; NOT (H>100 AND H<1000): H=12040 -> (TRUE AND FALSE)=FALSE -> NOT FALSE = TRUE. Incluída.

  • Linha 2 (10,12041,12): idem, incluída.

  • Linha 3 (50,1497,12): (TRUE OR TRUE)=TRUE; H=1497 -> (TRUE AND FALSE)=FALSE -> NOT FALSE=TRUE. Incluída.

  • Linha 4 (50,1498,10): (TRUE OR FALSE)=TRUE; H=1498 -> (TRUE AND FALSE)=FALSE -> NOT FALSE=TRUE. Incluída.

  • Linha 5 (70,214,20): (TRUE OR FALSE)=TRUE; H=214 -> (TRUE AND TRUE)=TRUE -> NOT TRUE=FALSE. Excluída.

  • Linha 6 (50,215,12): (TRUE OR TRUE)=TRUE; H=215 -> (TRUE AND TRUE)=TRUE -> NOT TRUE=FALSE. Excluída.

Portanto, as linhas resultantes são: (10,12040,12), (10,12041,12), (50,1497,12), (50,1498,10). A alternativa D é a única que apresenta esse conjunto.

Alternativa A — ❌ Incorreta

Faltam as linhas com G=50.

Alternativa B — ❌ Incorreta

Falta a linha (50,1498,10).

Alternativa C — ❌ Incorreta

Contém linhas que foram excluídas pela condição (50,215,12 e 70,214,20).

Alternativa D — ✅ Correta ⟵ GABARITO

Contém exatamente as quatro linhas resultantes.

Alternativa E — ❌ Incorreta

Faltam as linhas com G=10.

Gabarito: letra D

Link permanente: /questoes/fg044921