Vamos analisar cada alternativa: a) select medico.med_nome, especialidade.esp_nome from medico inner join especialidade on(medico.esp_codigo = especialidade.esp_codigo) order by especialidade.esp_nome, medico.med_nome; Esta instrução está correta, pois utiliza a cláusula "inner join" para combinar as tabelas e exibir o nome de todos os médicos e sua respectiva especialidade, em ordem de especialidade e nome. b) select medico.med_nome, especialidade.esp_nome from medico inner join especialidade using(esp_codigo) order by especialidade.esp_nome, medico.med_nome; Também está correta, pois utiliza a cláusula "using" para combinar as tabelas e exibir o nome de todos os médicos e sua respectiva especialidade, em ordem de especialidade e nome. c) select medico.med_nome, especialidade.esp_nome from medico, especialidade order by especialidade.esp_nome, medico.med_nome; Esta instrução não está correta, pois não especifica como as tabelas devem ser combinadas. A consulta pode resultar em um produto cartesiano, o que não é desejado. d) select medico.med_nome, especialidade.esp_nome from medico, especialidade where medico.esp_codigo =especialidade.esp_codigo order by especialidade.esp_nome, medico.med_nome; Esta instrução está correta, pois utiliza a cláusula "where" para combinar as tabelas e exibir o nome de todos os médicos e sua respectiva especialidade, em ordem de especialidade e nome. e) medico.med_nome, especialidade.esp_nome from medico natural join especialidade order by especialidade.esp_nome, medico.med_nome; Esta instrução está incorreta, pois não utiliza a cláusula "select" para especificar as colunas a serem exibidas. Portanto, a instrução que NÃO exibe o nome de todos os médicos e sua respectiva especialidade, em ordem de especialidade e nome é a opção c) select medico.med_nome, especialidade.esp_nome from medico, especialidade order by especialidade.esp_nome, medico.med_nome;.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar