Informática, perguntado por aurronsan, 6 meses atrás

Em um servidor de dados, os dados estão armazenados em tabelas e pelas questões de normalização, cada tabela trata especificamente dados relacionados com suas respectivas entidades. Quando ocorre a necessidade por informações mais abrangentes, os dados de tabelas diferentes precisam compor um resultado conjunto e o mecanismo que permite combinar dados de várias tabelas são as junções que podem ser de vários tipos.
Considerando uma parte do modelo de um sistema de clínica médica, referente aos médicos e especialidades, tem-se as seguintes tabelas:

MEDICO (COD_MEDICO, CRM, NOME, CONTATO, COD_ESPECIALIDADE)
ESPECIALIDADE (COD_ESPECIALIDADE, DCR_ESPECIALIDADE)

Todo médico está associado a uma especialidade, mas na clínica podem existir especialidades que não possuem médicos. A consulta que recupera todas as especialidades com os médicos relacionados, recuperando mesmo as especialidades sem médico cadastrado é:

Soluções para a tarefa

Respondido por tutumatuella
3

Resposta:

SELECT      *           FROM   MEDICO as M RIGHT OUTER JOIN ESPECIALIDADE as E

  ON E.COD_ESPECIALIDADE = M.COD_ESPECIALIDADE

Explicação:

Respondido por gomessd
2

A consulta que precisa ser realizada para retornar todas as especialidades, inclusive as que não possuem cadastro de médico é:

SELECT * from MEDICO as M

RIGHT OUTER JOIN ESPECIALIDADE as E

ON M.COD_ESPECIALIDADE = E.COD_ESPECIALIDADE

O comando OUTER JOIN no SQL

Os comandos JOIN no SQL servem para fazer junções de tabelas nas consultas. O RIGHT OUTER JOIN, mais especificamente, traz todos os registros encontrados nas duas tabelas, bem como os casos que não tiveram match que estão na tabela da direita.

No caso do exemplo, retornarão todas as especialidades presentes na tabela da direita (ESPECIALIDADE) mesmo as que não tiverem registros na tabela da esquerda (MEDICO).

Você pode aprender mais sobre JOIN no SQL aqui:

https://brainly.com.br/tarefa/23876457

Espero ter ajudado!

#SQL2

Anexos:
Perguntas interessantes