Logo Passei Direto
Buscar
Considere as seguintes tabelas:
CREATE TABLE paciente (id int primary key, nome text);
CREATE TABLE medico (id int primary key, nome text);
CREATE TABLE consulta (data date, id_paciente int, id_medico int);
Assinale a alternativa que indica uma consulta válida para identificarmos os médicos que não possuem consulta marcada na data de hoje.
SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m RIGHT JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null;
SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT JOIN consulta c WHERE c.id_medico = m.id and data != curdate() or data is null;
Dada a modelagem apresentada, não é possível realizar a consulta desejada com um único SELECT.
User badge image
Exercícios Para o Aprendizado

há 4 horas

Respostas

User badge image

Ed Verified user icon

há 4 horas

Vamos analisar a questão passo a passo. Queremos identificar os médicos que não possuem consulta marcada na data de hoje. - A tabela medico tem todos os médicos. - A tabela consulta tem as consultas marcadas, com data, id_paciente e id_medico. - Para encontrar médicos sem consulta hoje, precisamos listar todos os médicos que não têm nenhuma consulta com data = hoje. A forma correta é usar um LEFT JOIN da tabela medico para consulta, e filtrar os casos onde a consulta é nula (ou seja, não existe consulta hoje) ou a data da consulta é diferente de hoje. Analisando as alternativas: 1) ```sql SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null; ``` - Usa LEFT JOIN correto. - Filtra onde a data da consulta é diferente de hoje ou consulta não existe (data is null). - Parece correta. 2) ```sql SELECT DISTINCT m.nome as nome_medico FROM medico m JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null; ``` - Usa JOIN (INNER JOIN), que só retorna médicos que têm consulta. - Não retorna médicos sem consulta hoje. - Incorreta. 3) ```sql SELECT DISTINCT m.nome as nome_medico FROM medico m RIGHT JOIN consulta c ON c.id_medico = m.id WHERE data != curdate() or data is null; ``` - RIGHT JOIN da consulta para médico. - Pode trazer médicos que não existem? Não faz sentido aqui. - Incorreta. 4) ```sql SELECT DISTINCT m.nome as nome_medico FROM medico m LEFT JOIN consulta c WHERE c.id_medico = m.id and data != curdate() or data is null; ``` - Sintaxe incorreta: falta ON no JOIN. - Incorreta. 5) Dizer que não é possível com um SELECT é falso, pois a alternativa 1 resolve. Resposta correta: alternativa 1.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Níveis de abstração: da realidade ao dado A evolução da humanidade pode ser encarada em parte como um trajeto no sentido da aquisição progressiva da capacidade individual de abstração. De um ser intimamente ligado ao universo e em particular à natureza, ser humano individual tornou-se ao longo do tempo um ente independente, isolado e com cada vez maior capacidade de introspecção objetiva, isto é, sem que este dependa de fatores subjetivos, temporais e individuais. (SETZER, V. W.; SILVA, F.S. da. Banco de dados: aprenda que são, melhore seu conhecimento, construa os seus. São Paulo: Edgard Blücher, 2005.) Assim como Setzer & Silva consideram a história da humanidade como um crescente na capacidade de abstração, a história da programação de computadores também pode ser encarada como uma busca por formas cada vez mais abstratas de dar instruções a máquinas. Considere essas três formas de se utilizar computador para se obter a previsão do tempo:
SELECT temperatura, precipitacao FROM previsao WHERE data = CURDATE();
Computador, por favor, me dê a previsão do tempo de hoje.
III temperatura = None precipitacao = None for prev in previsoes: if prev.data = date.today(): temperatura = prev.temperatura precipitacao = prev.precipitacao print(" temperatura=", temperatura) print("precipitacao=", precipitacao)
Assinale a alternativa que corretamente ordena os itens acima em ordem crescente de abstração.
I, II, III.
III, II, I.
II, I, III.
Todas os itens estão no mesmo nível de abstração.
III, I, II.

Mais conteúdos dessa disciplina