Sim, é possível obter os dados no banco de dados - você pode deixar essa linha fora e ainda a enviará ao banco de dados.
A variável "exames" é uma estrutura de matriz contendo todas as opções para exibir na tela. Não é o nome do elemento selecionado. O elemento select é definido por name="exam" na primeira linha, ou seja, é "exam".
Eu não encontrei a linha em questão antes, mas é claramente definir o campo "selecionado" em uma opção específica. Este campo "selecionado" é então usado como padrão, mas outro exibindo-o como a opção padrão, não tem importância quando o formulário é realmente enviado.
Vamos dividir os elementos do seu código relevantes para uma consulta na Web:
O no início define que o campo é uma caixa de seleção. Os campos name, id e style são usados para formatar a aparência da página, portanto, não são relevantes para o envio de dados.
Isso define a opção suspensa no campo de campo como vazia inicialmente. Presumivelmente, isso é usado se alguém não tentou preencher o formulário antes.
<?php foreach($exams as $key=>$option):
$selected = ($exam == $key) ? 'selected' : '';
echo "<option value='$key' $selected>$option</option>";
endforeach; ?>
Aqui é onde fica interessante. Provavelmente, $ exams será uma matriz, então uma estrutura variável - abaixo seria um exemplo de uma estrutura possível, que eu usarei para minha resposta.
$exams['English']='English 101';
$exams['Maths']='Calculus';
$exams['Science']='Lab Experiments';
O "foreach" diz ao PHP para passar por cada elemento na matriz, definindo uma chave e um valor de opção.
Assim, a primeira vez que ele faz um loop (dado meu array) acima, a primeira vez que o loop é executado, $ key seria "English" e o valor seria "English 101". A segunda vez que $ key seria "Maths", o valor seria "Calculus" e assim por diante.
echo "<option value='$key' $selected>$option</option>";
escreve o código HTML, então, quando visto pelo navegador, ele se parecerá com Inglês 101 Cálculo Experiências de laboratório
Isso exibirá "Inglês 101", "Cálculo" e "Experiências de laboratório" no navegador, mas quando o formulário for enviado, ele publicará um valor de "Inglês", "Matemática" ou "Ciência", dependendo do o que foi selecionado.
o $ selecionado não seria usado na primeira vez que a página é exibida, no entanto, se a página foi visualizada e está sendo exibida de volta para o usuário - por exemplo, se foi feita alguma verificação de erro e encontrada erros, mas quer mostrar o formulário como ele recebeu - então o $ selecionado teria o valor "selecionado" para a opção que o usuário selecionou anteriormente, caso contrário, seria em branco. Isso diria ao navegador para mostrar o campo apropriado.
O endforeach presumivelmente termina a iteração. (A sintaxe usada aqui é diferente do que é típico - normalmente você usaria chaves).