SóProvas


ID
5383087
Banca
FUNDATEC
Órgão
CIGA-SC
Ano
2020
Provas
Disciplina
Banco de Dados
Assuntos

Considere um sistema que utiliza um SGBD MySQL versão 5.7. Abaixo, são apresentadas instruções SQL e o resultado das instruções após elas serem executadas no banco de dados do sistema em questão:

Resultado da execução da instrução SQL: SELECT * FROM imposto

id_imposto ds_nome
1 Imposto A
2 Imposto B
3 Imposto C

Resultado da execução da instrução SQL: SELECT * FROM imposto_aliquota

id_aliquota id_imposto vl_inicio vl_fim vl_aliquota
1 1 0.01 50,000 1
2 1 50,000.01 150,000 2
3 1 150,000.01 500,000 5
4 1 500,000 [NULL] 10
5 2 0.01 100,000 1
6 2 100,000.01 [NULL] 2

A instrução apresentada a seguir também foi executada:

SELECT DISTINCT i.ds_nome
FROM imposto i
LEFT JOIN imposto_aliquota ia
USING (id_imposto)
ORDER BY i.ds_nome;

O resultado da instrução acima é:

Alternativas
Comentários
  • ABRAM O PDF DA PROVA: https://www.qconcursos.com/questoes-de-concursos/provas/fundatec-2020-ciga-sc-programador É MUITO MELHOR QUE ESTA FORMATAÇÃO HORRÍVEL DO QCONCURSOS!

    Focando no comando da questão:

    SELECT DISTINCT i.ds_nome

    FROM imposto i

    LEFT JOIN imposto_aliquota ia

    USING (id_imposto)

    ORDER BY i.ds_nome

    Ou seja, o examinador quer tudo da tabela da esquerda (left join) - tabela IMPOSTO - , se tiver alguma correlação pode trazer da tabela da direita - tabela imposto_aliquota;

    A tabela imposto possui a coluna ds_nome, com os valores:

    Imposto A

    Imposto B

    Imposto C

    Inicialmente a respostar do comando seria( observe que o select pede somente a coluna ds_nome):

    Imposto A

    Imposto A

    Imposto A

    Imposto A

    Imposto B

    Imposto B

    Imposto C

    Entretanto, possuímos a clausula DISTINCT , portanto iremos eliminar as linhas repetidas:

    Imposto A

    Imposto B

    Imposto C

    GABARITO DA QUESTÃO - ALTERNATIVA E

  • Primeiro passo é abrir esse link do @Max. Posteriormente:

    - Como há DISTINCT, elimina C

    - Como há LEFT JOIN, então todos os 3 elementos da tabela "imposto" devem aparecer, elimina A e B

    - Como ORDER BY, por default, é ascendente, elimina D

    .

    GAB E