2
respostas

estrutura da query

bom dia, gostaria de entender melhor a estrutura da query abaixo, pq temos que colocar: "letra.descrição"?

select e.pergunta, count(r.id) from
exercicio e join resposta r on e.id = r.exercicio_id
group by e.id
2 respostas

Olá Lucas,

Esta é apenas uma forma de criar um alias (apelido) para a tabela, para facilitar a escrita, e às vezes melhorar a legibilidade, do seu código.

Nada impediria que o código acima fosse feito conforme abaixo:

select exercicio.pergunta, count(resposta.id) from
exercicio join resposta on exercicio.id = resposta.exercicio_id
group by exercicio.id

O fato de criar um alias é interessante e essencial caso você possua o mesmo nome de campo nas duas tabelas, como é o caso do "id", por exemplo.

Um exemplo para melhorar a legibilidade pode ser em relação ao nome da tabela, como por exemplo, fica mais fácil ler "AEAS" ao invés de ArquivoEntradaArquivoSaida.

Olá Lucas!!

Temos alguns porquês de usar ''letra.descrição'.' Porem depende do contexto de cada um deles.

Quando duas tabelas diferentes possuem o mesmo atributo nelas que não são foreing key, ex: ALUNO -> NOME e PROFESSOR->NOME, quando damos select em nome de aluno, e em nome de professor, por exemplo temos que usar

select aluno.nome, professor.nome

Para a diferenciação dos atributos criados e para que nao haja erro na query.

Outro porque do 'letra.descrição' é para o uso dos JOINS. Quando os atributos de tabelas diferentes são foreing key e elas tem que se 'igualar' para mostrar o resultado certo. Em letra.descrição , letra seria a tabela e descrição um atributo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software