SóProvas


ID
3209932
Banca
FGV
Órgão
SEE-PE
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

Na questão, considere as tabelas T1 e T2 exibidas a seguir com suas respectivas instâncias.


                                    T1                          T2

                                    a    b                       a       c

                                   10   A                      10      7

                                    11  B                      11      9

                                    12  C                      15   NULL

                                    14  D

De acordo com a definição e instâncias das tabelas T1 e T2 definidas acima, analise o comando SQL a seguir.


select t2 . a, t2 . c

from T1 left join T2

on t1 . a = t2 . a


Ao ser executado, esse comando produz um resultado contendo quatro linhas, além da linha de títulos.


Assinale a opção que indica o número de células que aparecem nesse resultado contendo “NULL”.

Alternativas
Comentários
  • Será que alguém poderia explicar como aparecem 4 registros NULL? Ao meu ver, aparecem 2.

  • Jorge Miranda, também fui na mesma linha de pensamento que você e errei. Olhando novamente a questão eu entendi. É perguntado o número de "células" contendo null. Célula é diferente de linha. Cada célula é uma combinação de linha com coluna. O resultado do select será o seguinte

    a c

    10 7

    11 9

    NULL NULL

    NULL NULL

    Então teremos 2 linhas contendo NULL, porém 4 células contendo NULL.

  • Marco, obrigado pela ajuda.

  • A consulta traz um LEFT JOIN entre T1 e T2, tomando como base a igualdade entre t1.a e t2.a. No SELECT, devem ser retornados somente os campos de T2, então devemos contar os nulos nesses campos. Vamos ver como fica a tabela depois da junção. Vou colocar também os campos de T1 somente para que você enxergue melhor como os registros foram combinados:

    Assim, vemos que em T2.a e T2.c há um total de quatro valores nulos. Resposta letra E.

  • Eu acreditava que o resultado não traria nenhuma célula null.

  • Se fosse

    select t1.a, t2.c

    from T1 left join T2

    on t1.a = t2.a

    o resultado seria 2 células Null.