SóProvas


ID
639535
Banca
FCC
Órgão
TRT - 11ª Região (AM e RR)
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere o código SQL Server 2008:

SELECT *
FROM CLIENTES AS CLI
JOIN PEDIDOS AS PED
ON CLI.IDCLIENTE = P.IDPEDIDO

Sendo idcliente e idpedido as chaves primárias respectivas de clientes e pedidos, o código

Alternativas
Comentários
  • SELECT *
    FROM CLIENTES AS CLI
    JOIN PEDIDOS AS PED
    ON CLI.IDCLIENTE = P.IDPEDIDO
  • SELECT *
    FROM CLIENTES AS CLI
    JOIN PEDIDOS AS PED
    ON CLI.IDCLIENTE = P.IDPEDIDO

    EU ACHO QUE DEVERIA SER A RESPOSTA C
    POIS ALEM DO ERRO NO NOME DA TABELA PED E P. NO ON DEVERIA CHAMAR A CHAVE ESTRANGEIRA DE CLIENTE E NAO A CHAVE PRIMARIA DA TABELA PEDIDOS
    EU ACHO QUE DEVRIA SER ASSIM ON CLI.IDCLIENTE = PED.IDCLIENTE
    POIS NO MEU PONTO DE VISTA A CONSULTA DEVERIA SER ASSIM:
    SELECT *
    FROM CLIENTES AS CLI
    JOIN PEDIDOS AS PED
    ON CLI.IDCLIENTE = PED.IDCLIENTE

    alguem pode pode me explicar porque a C não foi considerada correta...
  • Também acho que a resposta deveria ser a letra C. No enunciado da questão não se deixa claro se os IDs das tabelas são do mesmo tipo, por exemplo, e se a lógica da consulta faz sentido, fazendo um select desse provavelmente não retornaria nenhum resultado, já que são IDs referentes a dados diferentes.
    Caso fossem do mesmo tipo e se a consulta não necessita que a lógica seja verificada, então a resposta seria a letra B mesmo. Mas na minha opinião uma questão muito mal elaborada. Dessa forma não mede o conhecimento de nenhuma pessoa.
  • Com certeza dois erros. Erro no alias e erro na junção.
    Sem contar o erro da FCC no gabarito.
  • Além dos 2 erros citados pelos amigos na consulta, haveria o erro na cláusula JOIN...não seria INNER JOIN...ou LEFT JOIN...ou RIGHT JOIN..ao invés.
    Questão passível de recurso, marcaria Letra D)
    A banca FCC pelo que vejo é muito ruim.
  • Cleio,

    Apenas "join" existe no SQL ANSI. De acordo com [1]:

    "Join: Return rows when there is at least one match in both tables"

    [1]: http://www.w3schools.com/sql/sql_join.asp
  • Vc's estão esquecendo de "ficarem burros" p/ resolver as questoes da FCC...

    o Código não funciona apenas por causa do erro do "alias"...... agora, é claro que pensando na Modelagem do sistema, teria que ser via ch. estrangeira!

    abs
  • Concordo com Asley, retirando o erro do alias, o código é um SQL válido. Se irá retornar o resultado esperado, aí é outra questão.

  • O CORRETO SERIA:

    SELECT *
    FROM CLIENTES AS CLI
    JOIN PEDIDOS AS PED
    ON CLI.IDCLIENTE = PED.IDPEDIDO