1
resposta

Lógica para Designação de Alunos

Para desenvolver essa atividade, primeiro desenvolvi sua lógica, depois adaptei-a para um código utilizando meus conhecimentos em SQL. Segue abaixo o código desenvolvido.

SELECT ALUNO_NOME, ALUNO_IDADE 
FROM ALUNOS 
CASE
    WHEN (ALUNO_IDADE >= 18 OR GRADUACAO_ALUNO = 'INGLÊS', THEN 'Escola de Estudos Astronômicos') OR 
    ALUNO_IDADE < 18 AND GRADUACAO_ALUNO = 'ALEMÃO', THEN 'Escola de Estudos Supersônicos'
    ELSE ISNULL
END AS ESCOLHA_ESCOLA

O aluno em questão, cai na primeira condição, onde sua graduação é Inglês. Poderia ter um feedback quanto ao meu código, por favor? Obrigado.

1 resposta

Olá, Gabriel, tudo bem?

Você está no caminho certo, tenha apenas alguns pontos de melhoria.Vou corrigir e explicar cada parte:

SELECT ALUNO_NOME, ALUNO_IDADE,
CASE
    WHEN ALUNO_IDADE >= 18 OR GRADUACAO_ALUNO = 'INGLÊS' THEN 'Escola de Estudos Astronômicos'
    WHEN ALUNO_IDADE < 18 AND GRADUACAO_ALUNO = 'ALEMÃO' THEN 'Escola de Estudos Supersônicos'
    ELSE NULL
END AS ESCOLHA_ESCOLA
FROM ALUNOS;

Na estruturado CASE, cada condição WHEN deve ser seguida por THEN e a ação correspondente, não há necessidade das vírgulas dentro das condições. Adicionei ainda um ELSE NULL para casos que não se enquadrem em nenhuma das condições.

Portanto, para um aluno de 17 anos formado em Inglês, a expressão lógica avalia como verdadeira, e o aluno é direcionado para a Escola de Estudos Astronômicos.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!