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

Mensagens populares deste blogue

Python - Gerador de nomes aleatórios: V2.0

Python - Jogo de adivinhar números !