SóProvas


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

Em um select usando duas tabelas, para retornar todas as linhas da tabela utilizada na cláusula from, mesmo se não houver nenhuma correspondência na outra tabela, deve-se utilizar a palavra chave sql

Alternativas
Comentários
  •     a) right join. Traz todos os valores da tabela a direita
    (e.g. Select * from T1 right join T2 on (T1.id = T2.id); traz todos os valores de T2 mesmo não possuindo correspondente em T1)

        b) left join. Traz todos os valores da tabela a esquerda
    (e.g. Select * from T1 left join T2 on (T1.id = T2.id); traz todos os valores de T1 mesmo não possuindo correspondente em T2)

        c) inner join. Traz todos os valores que possuem correspondência
    (e.g. Select * from T1 inner join T2 on (T1.id = T2.id); traz todos os valores de T1 que possuem correspondente em T2)

        d) union. Une dois selects

        e) distinct. Traz somente um valor distinto por resultado
  • Essa questão é um pouco confusa, pois ela admite duas respostas. O right join também não poderia ser usado?? Fiquei na dúvida...

  • Fiquei com a mesma dúvida do David...

  • Caros amigos,

    Na minha opinião, a questão está correta pq ela pede que sejam mostrados todos os registros da tabela FROM, ou seja, da primeira tabela, logo, tem que utilizar o LEFT JOIN. O RIGHT JOIN irá mostrar todos os registros da tabela à direita, ou seja, da segunda tabela. Vocês podem dar uma olhadinha neste site: http://www.w3schools.com/sql/sql_join_right.asp. Abraços.
  • Oi, Robert. Entendo a diferença de se usar LEFT JOIN ou RIGHT JOIN, porém no enunciado não está claro se ele deseja os dados da primeira ou da segunda tabela. Ele apenas diz: "para retornar todas as linhas da tabela utilizada na cláusula from". O FROM é compostos por 2 tabelas. Como saber qual das 2 ele quer? Essa foi a minha dúvida.

  • @Priscila Camargo: acho que no FROM só haverá 1 tabela, enquanto a outra estará após o JOIN. Seria algo assim: SELECT * FROM Tabela1 LEFT JOIN Tabela2 ON Tabela1.campo = Tabela2.campo

  • A leitura no SQL, assim como no Ocidente, faz-se da esq p dir...sendo assim,...de uma tabela para a outra tabela, por isso nao poderia ser right join galera.