Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

As confusas letras "a" "c" "m" que aparecem.

Sou novo em programação e estou me desenvolvendo com os cursos da Alura, a procura de uma oportunidade nesta área, queria expor meus entendimentos e caso correto ajudar, de forma com que eu fui aplicando o comando para entender passo a passo e cheguei nessas conclusões:

select a.nome, c.nome from aluno a join -> matricula m on m.aluno_id = a.id join -> curso c on m.curso_id = c.id;

Como o SQL intende: Eu estou querendo que o comando me traga as seguintes coluna a.nome -> a coluna nome da tabela aluno. c.nome -> a coluna nome da tabela curso.

Logo a frente no “from” eu indico qual tabela ele vai buscar essas informações porem eu tenho que dizer pra ele em que tabela está essa letra que eu coloquei, ou seja:

From aluno a -> significa que a letra “a” é a tabela aluno (como se ele “renomeasse” a tabela). Então o comando “a.nome” significa que ele vai procurar e me mostra a coluna nome da tabela aluno.

From curso c -> significa que a letra “c” é a tabela curso (como se ele “renomeasse” a tabela). Então o comando “c.nome” significa que ele vai procurar e me mostra a coluna nome da tabela curso.

matricula m -> significa que a letra “m” é a tabela matricula (como se ele “renomeasse” a tabela).

Quando aplicado o “ON” é apenas uma relação de igualdade entre as tabelas, ou seja, quer dizer que as informações da tabela inicial tem que ser igual a secundária por isso a validação de ambas pelo ID.

Para exemplificar e simplificar o entendimento poderia reescrever o comando dessa forma:

 select aluno.nome, curso.nome from
-> aluno join
-> matricula on matricula.aluno_id = aluno.id join
-> curso on matricula.curso_id = curso.id;

Select -> o que eu quero mostrar. From -> em qual tabela procurar e quais as condições.

1 resposta
solução!

Boa tarde Marco!

Seu entendimento está correto.

As letras "a", "c" e "m" são aliases (apelidos), eles servem para facilitar sua vida, fazendo você escrever menos sql.

a -> aluno c -> curso m -> matricula etc.

A cláusula "on" tem a mesma função que a cláusula "where".