SQL - diferentes tipos de JOIN
Podemos fazer dois tipos diferentes de Join no SQL, um com o comando Join, e outro sem ele. Consideremos as seguintes duas tabelas nas quais queremos juntar o Nome dos nossos clientes e o BI respectivo que está numa segunda tabela:
A primeira forma de cruzarmos estas tabelas é com um INNER JOIN:
SELECT
cliente.Nome_Cliente,
Individual.BI
FROM Cliente
INNER JOIN Individual on Individual.Numero_Cliente = Cliente.Numero_Cliente
A segunda forma é fazermos estas ligações directamente entre tabelas com o comando Where a ligá-las:
SELECT
cliente.Nome_Cliente,
Individual.BI
FROM Cliente, Individual
WHERE Cliente.Numero_Cliente = Individual.Numero_Cliente
Se executarmos irá dar precisamente o mesmo resultado.
Com esta segunda forma simplificamos a forma de unir tabelas. Imaginemos que queremos unir 'n' tabelas, basta juntar AND ao comando WHERE, por exemplo:
SELECT
aluno.nome_aluno,
AVG(classificacao.Classificacao_ID)
FROM aluno, subscricao_aluno, tipo_subscricao, tipo_subscricao_curso, curso, review, classificacao
WHERE aluno.Aluno_ID = subscricao_aluno.Aluno_ID
AND
subscricao_aluno.Tipo_subscricao_ID = tipo_subscricao.Tipo_subscricao_ID
AND
tipo_subscricao.Tipo_subscricao_ID = tipo_subscricao_curso.Tipo_subscricao_ID
AND
tipo_subscricao_curso.Curso_ID = curso.Curso_ID
AND
curso.Curso_ID = review.Curso_ID
AND
review.Classificacao_ID = classificacao.Classificacao_ID
GROUP BY aluno.nome_aluno
Comentários
Enviar um comentário