Buscar

LINGUAGEM SQL (PARTE 03)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, sexo do paciente, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac != T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac = T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <= T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <> T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac >= T2. id_pac
	
	
	
	 
		
	
		2.
		A linguagem mais utilizada em Sistemas de Gerenciamento de Banco de Dados (SGDBs) é a SQL. Esta fornece a possibilidade de realizar o produto cartesiano dos dados, ou seja, gera um conjunto de todos os pares ordenados. A linguagem SQL também fornece uma função que corresponde a operação de produto cartesiano da álgebra relacional, esta função é:
	
	
	
	HAVING
	
	
	WHERE
	
	
	SELECT
	
	
	FROM
	
	
	JOIN
	
Explicação:
Join - A cláusula JOIN permite que os dados de várias tabelas sejam combinados com base na relação existente entre elas.
Having ¿ Especifica um critério de pesquisa para um grupo ou uma agregação. HAVING é usado normalmente em uma cláusula GROUP BY.
Where - A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta.
Select - É o comando SQL para recuperação dos dados de uma ou mais tabelas.
From - A Cláusula FROM, faz parte do comando select e define a tabela que será recuperada.
	
	
	
	 
		
	
		3.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico, nome da especialidade, data de consulta, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T3, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T1, MEDICO T3, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		4.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado e o seu salário, daqueles que ganham o maior salário do seu departamento, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                   Null                  Type
------------------------------------------
EMPNO              NOT NULL   NUMBER(4)
NOME_EMP                             CHAR(10)
CARGO                                     CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                  NUMBER(7,2)
COMISSAO                              NUMBER(7,2)
DEPTNO                                   NUMBER(2) 
TABELA DEPT
Name                   Null                Type
------------------------------------------
DEPTNO           NOT NULL     NUMBER(2)
NOME_DEPT                            CHAR(14)
LOCALIZACAO                       CHAR(13)
	
	
	
	SELECT E.NOME_EMP, E.SALARIO
FROM EMP E
WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
 
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP);
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME;
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME
      HAVING SALARIO=MAX(SALARIO);
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM DEPT
                                     WHERE   DEPTNO=E.DEPTNO);
	
	
	
	 
		
	
		5.
		Em relação as tabelas abaixo:
Marque a alternativa que possui o comando SQL utilizado para que sejam selecionadas as informações (nome do correntista e o número de conta corrente) dos correntistas do Banco do Brasil.
	
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente, Bancos WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Nome=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	
	 
		
	
		6.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado, o nome do seu departamento, daqueles que ganham comissão, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                Null                   Type
----------------------------------------------
EMPNO           NOT NULL      NUMBER(4)
NOME_EMP                            CHAR(10)
CARGO                                    CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                 NUMBER(7,2)
COMISSAO                             NUMBER(7,2)
DEPTNO                                  NUMBER(2)
 
TABELA DEPT
Name                  Null                     Type
----------------------------------------------
DEPTNO           NOT NULL       NUMBER(2)
NOME_DEPT                              CHAR(14)
LOCALIZACAOCHAR(13)
	
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO>0;
     
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE  E.COMISSAO >0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO < > 0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
HAVING E.COMISSAO IS NULL;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO IS NOT  NULL;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		7.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que são cadastrados como especiais?
	
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c RIGHT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c LEFT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c, cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce
	
	
	
	 
		
	
		8.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial, nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario,nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente,nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente,Km,desconto) CARRO(idcarro,placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF,idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o código do Carro que tem o maior valor de aluguel?
	
	
	
	SELECT idCarro FROM aluguel a where valor = (select sum(valor) from aluguel);
	
	
	SELECT idCarro FROM aluguel a where valor = (select Max(valor) from aluguel);
	
	
	SELECT idCarro, Max(valor) FROM aluguel a group by idcarro;
	
	
	SELECT idCarro FROM aluguel a where valor = Max(valor);
	
	
	SELECT idCarro, Max(valor) FROM aluguel;
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:47:45.
			1.
		
 Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN '15/11/2014' AND '16/11/2014';":
 
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA = '15/11/2014' AND '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA => '15/11/2014' AND <= '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014' AND '16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014','16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA > '15/11/2014' AND < '16/11/2014';
	
	
	
	 
		
	
		2.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o nome do Funcionário que tem o maior salário?
	
	
	
	SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario);
	
	
	SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario);
	
	
	SELECT nome FROM funcionario fu where salario = Max(salario);
	
	
	SELECT nome, Max(salario) FROM funcionario fu group by nome;
	
	
	SELECT nome, Max(salario) FROM funcionario;
	
	
	
	 
		
	
		3.
		
	
	
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		4.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T4, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T2, ESPECIALIDADE T3, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T2, CONSULTA T4 Where T1.id_pac   = T4.id_pac And
T4.id_med = T3.id_med And T3.id_espec= T2.id_espec
	
	
	
	 
		
	
		5.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
                        PACIENTE (id_pac, nome_pac, sexo, fone_pac)
                        ESPECIALIDADE (id_espec, nome_espec)
                        MEDICO (id_med, nome_med, fone_med, id_espec)
                        CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		6.
		(PRODEB 2008) Analiseas assertivas e assinale a alternativa que apresenta as corretas.
I. O comando create table é usado para especificar uma nova relação, dando-lhe um nome e especificando seus atributos e restrições iniciais.
II. É possível definir um valor default para um atributo por meio da adição da cláusula default seguida de seu valor na definição de um atributo.
III. Pode-se limitar os valores do atributo ou de seu domínio pelo uso da cláusula check, seguida da definição do atributo ou do domínio.
IV. O conceito de junção de tabelas (ou junção de relações) " join " foi incorporado à SQL para que os usuários pudessem especificar uma tabela que fosse resultado da aplicação da operação de junção na cláusula where de uma consulta.
	
	
	
	Apenas IV está correta.
	
	
	Nenhuma assertiva está correta.
	
	
	Apenas III está incorreta.
	
	
	Apenas I, II, III e IV estão corretas.
	
	
	Apenas I, II e III estão corretas.
	
Explicação:
IV. Um comando SELECT pode fazer uma consulta que traz dados de duas ou mais tabelas. Esse é um processo chamado de Junção (join). As tabelas têm uma coluna em comum que é usado para fazer as junções.
	
	
	
	 
		
	
		7.
		Qual comando abaixo representa o seguinte texto: Especifica a junção entre duas tabelas com uma cláusula de junção explícita.
	
	
	
	Inner Join
	
	
	Group by
	
	
	Where
	
	
	Select
	
	
	Order by
	
Explicação:
Where: A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro.
Select: Comando utilizado para recuperação dos dados de uma ou mais tabelas.
Group by: A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos.
Inner Join: Conecta as duas tabelas e retorna apenas as linhas que satisfazem a condição de junção.
Order by: A clausula permite ordenar qualquer resultado de uma consulta.
	
	
	
	 
		
	
		8.
		O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos.  Analise-o:
 
Professor (MatP,NomeP, telP, emailP)
Aluno (MatA, MatP, NomeA, emailA)
TCC (IDTCC, MatA, Titulo, Resumo)
 
Assinale a única alternativa que retorna exatamente os dados exibidos na figura:
	
	
	
	SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP;
	
	Gabarito
Coment.
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:51:31.
			1.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do médico, nome da especialidade para todos os médicos.
	
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <=T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec < T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <> T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec >= T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec = T2. id_espec
	
	
	
	 
		
	
		2.
		Analise o modelo a seguir: Empregado (nome_empregado, rua,cidade) Trabalha (nome_empregado,nome_companhia,salario) Companhia (nome_companhia,cidade) Qual é a consulta em SQL para encontrar nome, endereço e cidade de residência de todos os empregados da XXX que ganham mais de dez mil reais?
	
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario < 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e INNER JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e LEFT JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e, trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	
	 
		
	
		3.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico onde a data da consulta é igual à data de hoje.
	
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T2, CONSULTA T1 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T2, MEDICO T1, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons < GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T1, CONSULTA T2 Where T3.dt_cons != GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	
	 
		
	
		4.
		Em um projeto lógico de um sistema foi identificado que  um projeto é de um certo tipo. Assim, as relações abaixo foram definidas:
TIPO_PROJETO (ID_TIPO, NOME)
PROJETO (ID_PROJETO,  NOME,  DESCRICAO, ID_TIPO, VALOR) 
 
Conforme a linguagem SQL e as relações dadas, escolha a opção que mostre o nome de cada tipo de projeto que não possua um projeto e que comece com a letra A.
	
	
	
	SELECT NOME
FROM TIPO_PROJETO
WHERE ID_TIPO NOT IN (SELECT DISTINCT ID_TIPO FROM PROJETO) AND NOME LIKE 'A%' ;
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND P.VALOR=0 AND TP.NOME LIKE 'A%';
 
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE TP.ID_TIPO = P.ID_TIPO AND P.VALOR IS NULL AND
TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE TP.ID_TIPO = P.ID_TIPO AND  TP.ID_TIPO IS NULL AND TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND TP.NOME LIKE '%A%';
	
	
	
	 
		
	
		5.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do médico, nome da especialidade para todos os médicos.
	
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <> T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec = T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <=T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec < T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec >= T2. id_espec
	
	
	
	 
		
	
		6.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial (PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario (PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente (PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente (PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes, os códigos dos carros que o cliente alugou e o valor de cada aluguel?
	
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a RIGHT JOIN cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a INNER JOIN cliente c
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c ON a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a LEFT JOIN cliente c where a.idcliente=c.idcliente
	
	
	
	 
		
	
		7.
		Considere as seguintes tabelas:
    CLIENTE   (idCli, NomeCli)
    PEDIDO   (idPEDIDO, Data, idCli, ValorPedido)
Qual alternativa apresenta os clientes que NÃO tiveram nenhum pedido?
	
	
	
	SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli
	
	
	SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO)
	
	
	SELECT * FROM CLIENTE
	
	
	SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli
	
	
	SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO)
	
Explicação: sub-select listando clientes com pedido
	
	
	
	 
		
	
		8.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que mesmo cadastrados no banco de dados da Locadora NÃO fizeram nenhum aluguel?
	
	
	
	SELECT c.nome cliente FROM aluguel a INNER JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	SELECT c.nome cliente FROM aluguel a LEFT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	SELECT c.nome cliente FROM aluguel a, cliente c ON a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente FROM aluguel a, cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente FROM aluguel a RIGHT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:52:41.
			1.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico, nome da especialidade, data de consulta, valor da consulta para todos os pacientes.
	
	
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T4.vl_cons  From ,T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		2.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado, o nome do seu departamento, daqueles que ganham comissão, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                Null                   Type
----------------------------------------------
EMPNO           NOT NULL      NUMBER(4)
NOME_EMP                            CHAR(10)
CARGO                                    CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                 NUMBER(7,2)
COMISSAO                             NUMBER(7,2)
DEPTNO                                  NUMBER(2)
 
TABELA DEPT
Name                  Null                     Type
----------------------------------------------
DEPTNO           NOT NULL       NUMBER(2)
NOME_DEPT                              CHAR(14)
LOCALIZACAO                         CHAR(13)
	
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE  E.COMISSAO >0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO < > 0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO>0;
     
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO IS NOT  NULL;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
HAVING E.COMISSAO IS NULL;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		3.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado e o seu salário, daqueles que ganham o maior salário do seu departamento, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                   Null                  Type
------------------------------------------
EMPNO              NOT NULL   NUMBER(4)
NOME_EMPCHAR(10)
CARGO                                     CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                  NUMBER(7,2)
COMISSAO                              NUMBER(7,2)
DEPTNO                                   NUMBER(2) 
TABELA DEPT
Name                   Null                Type
------------------------------------------
DEPTNO           NOT NULL     NUMBER(2)
NOME_DEPT                            CHAR(14)
LOCALIZACAO                       CHAR(13)
	
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME
      HAVING SALARIO=MAX(SALARIO);
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM DEPT
                                     WHERE   DEPTNO=E.DEPTNO);
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME;
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP);
	
	
	SELECT E.NOME_EMP, E.SALARIO
FROM EMP E
WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
 
	
	
	
	 
		
	
		4.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, sexo do paciente, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac >= T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac != T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac = T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <> T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <= T2. id_pac
	
	
	
	 
		
	
		5.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que são cadastrados como especiais?
	
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce
	
	
	SELECT c.nome cliente FROM cliente c RIGHT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c, cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c LEFT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	
	 
		
	
		6.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial, nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario,nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente,nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente,Km,desconto) CARRO(idcarro,placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF,idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o código do Carro que tem o maior valor de aluguel?
	
	
	
	SELECT idCarro FROM aluguel a where valor = Max(valor);
	
	
	SELECT idCarro, Max(valor) FROM aluguel a group by idcarro;
	
	
	SELECT idCarro, Max(valor) FROM aluguel;
	
	
	SELECT idCarro FROM aluguel a where valor = (select sum(valor) from aluguel);
	
	
	SELECT idCarro FROM aluguel a where valor = (select Max(valor) from aluguel);
	
	
	
	 
		
	
		7.
		Em relação as tabelas abaixo:
Marque a alternativa que possui o comando SQL utilizado para que sejam selecionadas as informações (nome do correntista e o número de conta corrente) dos correntistas do Banco do Brasil.
	
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente, Bancos WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Nome=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	
	 
		
	
		8.
		A linguagem mais utilizada em Sistemas de Gerenciamento de Banco de Dados (SGDBs) é a SQL. Esta fornece a possibilidade de realizar o produto cartesiano dos dados, ou seja, gera um conjunto de todos os pares ordenados. A linguagem SQL também fornece uma função que corresponde a operação de produto cartesiano da álgebra relacional, esta função é:
	
	
	
	SELECT
	
	
	FROM
	
	
	HAVING
	
	
	JOIN
	
	
	WHERE
	
Explicação:
Join - A cláusula JOIN permite que os dados de várias tabelas sejam combinados com base na relação existente entre elas.
Having ¿ Especifica um critério de pesquisa para um grupo ou uma agregação. HAVING é usado normalmente em uma cláusula GROUP BY.
Where - A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta.
Select - É o comando SQL para recuperação dos dados de uma ou mais tabelas.
From - A Cláusula FROM, faz parte do comando select e define a tabela que será recuperada.
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:53:33.
			1.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico, nome da especialidade, data de consulta, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T3, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T1, MEDICO T3, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		2.
		Qual comando abaixo representa o seguinte texto: Especifica a junção entre duas tabelas com uma cláusula de junção explícita.
	
	
	
	Group byInner Join
	
	
	Order by
	
	
	Select
	
	
	Where
	
Explicação:
Where: A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro.
Select: Comando utilizado para recuperação dos dados de uma ou mais tabelas.
Group by: A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos.
Inner Join: Conecta as duas tabelas e retorna apenas as linhas que satisfazem a condição de junção.
Order by: A clausula permite ordenar qualquer resultado de uma consulta.
	
	
	
	 
		
	
		3.
		
 Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN '15/11/2014' AND '16/11/2014';":
 
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA = '15/11/2014' AND '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA => '15/11/2014' AND <= '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014' AND '16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014','16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA > '15/11/2014' AND < '16/11/2014';
	
	
	
	 
		
	
		4.
		O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos.  Analise-o:
 
Professor (MatP,NomeP, telP, emailP)
Aluno (MatA, MatP, NomeA, emailA)
TCC (IDTCC, MatA, Titulo, Resumo)
 
Assinale a única alternativa que retorna exatamente os dados exibidos na figura:
	
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		5.
		
	
	
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		6.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T4, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T2, CONSULTA T4 Where T1.id_pac   = T4.id_pac And
T4.id_med = T3.id_med And T3.id_espec= T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T2, ESPECIALIDADE T3, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		7.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
                        PACIENTE (id_pac, nome_pac, sexo, fone_pac)
                        ESPECIALIDADE (id_espec, nome_espec)
                        MEDICO (id_med, nome_med, fone_med, id_espec)
                        CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		8.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o nome do Funcionário que tem o maior salário?
	
	
	
	SELECT nome, Max(salario) FROM funcionario fu group by nome;
	
	
	SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario);
	
	
	SELECT nome FROM funcionario fu where salario = Max(salario);
	
	
	SELECT nome, Max(salario) FROM funcionario;
	
	
	SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario);
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:54:42.
			1.
		(PRODEB 2008) Analise as assertivas e assinale a alternativa que apresenta as corretas.
I. O comando create table é usado para especificar uma nova relação, dando-lhe um nome e especificando seus atributos e restrições iniciais.
II. É possível definir um valor default para um atributo por meio da adição da cláusula default seguida de seu valor na definição de um atributo.
III. Pode-se limitar os valores do atributo ou de seu domínio pelo uso da cláusula check, seguida da definição do atributo ou do domínio.
IV. O conceito de junção de tabelas (ou junção de relações) " join " foi incorporado à SQL para que os usuários pudessem especificar uma tabela que fosse resultadoda aplicação da operação de junção na cláusula where de uma consulta.
	
	
	
	Nenhuma assertiva está correta.
	
	
	Apenas I, II e III estão corretas.
	
	
	Apenas III está incorreta.
	
	
	Apenas I, II, III e IV estão corretas.
	
	
	Apenas IV está correta.
	
Explicação:
IV. Um comando SELECT pode fazer uma consulta que traz dados de duas ou mais tabelas. Esse é um processo chamado de Junção (join). As tabelas têm uma coluna em comum que é usado para fazer as junções.
	
	
	
	 
		
	
		2.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do médico, nome da especialidade para todos os médicos.
	
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec >= T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec = T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <=T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec < T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <> T2. id_espec
	
	
	
	 
		
	
		3.
		Considere as seguintes tabelas:
    CLIENTE   (idCli, NomeCli)
    PEDIDO   (idPEDIDO, Data, idCli, ValorPedido)
Qual alternativa apresenta os clientes que NÃO tiveram nenhum pedido?
	
	
	
	SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli
	
	
	SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO)
	
	
	SELECT * FROM CLIENTE
	
	
	SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO)
	
	
	SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli
	
Explicação: sub-select listando clientes com pedido
	
	
	
	 
		
	
		4.
		Analise o modelo a seguir: Empregado (nome_empregado, rua,cidade) Trabalha (nome_empregado,nome_companhia,salario) Companhia (nome_companhia,cidade) Qual é a consulta em SQL para encontrar nome, endereço e cidade de residência de todos os empregados da XXX que ganham mais de dez mil reais?
	
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e INNER JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario < 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e, trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e LEFT JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	
	 
		
	
		5.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico onde a data da consulta é igual à data de hoje.
	
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T1, CONSULTA T2 Where T3.dt_cons != GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T2, CONSULTA T1 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons < GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T2, MEDICO T1, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	
	 
		
	
		6.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que mesmo cadastrados no banco de dados da Locadora NÃO fizeram nenhum aluguel?
	
	
	
	SELECT c.nome cliente FROM aluguel a INNER JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	SELECT c.nome cliente FROM aluguel a, cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente FROM aluguel a RIGHT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	SELECT c.nome cliente FROM aluguel a LEFT JOIN cliente c ON a.idcliente=c.idcliente where a.idcliente IS NULL
	
	
	SELECT c.nome cliente FROM aluguel a, cliente c ON a.idcliente=c.idcliente
	
	
	
	 
		
	
		7.
		Em um projeto lógico de um sistema foi identificado que  um projeto é de um certo tipo. Assim, as relações abaixo foram definidas:
TIPO_PROJETO (ID_TIPO, NOME)
PROJETO (ID_PROJETO,  NOME,  DESCRICAO, ID_TIPO, VALOR) 
 
Conforme a linguagem SQL e as relações dadas, escolha a opção que mostre o nome de cada tipo de projeto que não possua um projeto e que comece com a letra A.
	
	
	
	SELECT NOME
FROM TIPO_PROJETO
WHERE ID_TIPO NOT IN (SELECT DISTINCT ID_TIPO FROM PROJETO) AND NOME LIKE 'A%' ;
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE TP.ID_TIPO = P.ID_TIPO AND P.VALOR IS NULL AND
TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND P.VALOR=0 AND TP.NOME LIKE 'A%';
 
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE TP.ID_TIPO = P.ID_TIPO AND  TP.ID_TIPO IS NULL AND TP.NOME LIKE '%A%';
	
	
	
	 
		
	
		8.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do médico, nome da especialidade para todos os médicos.
	
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <=T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec = T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec >= T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec <> T2. id_espec
	
	
	Select T1.nome_med, T2.nome_espec From MEDICO T1, ESPECIALIDADE T2 Where T1. id_espec < T2. id_espec
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:56:19.
			1.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario (PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente (PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente (PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes, os códigos dos carros que o cliente alugou e o valor de cada aluguel?
	
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a LEFT JOIN cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a INNER JOIN cliente c
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c ON a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a RIGHT JOIN cliente c where a.idcliente=c.idcliente
	
	
	SELECT c.nome cliente, a.idcarro, a.valor FROM aluguel a, cliente c where a.idcliente=c.idcliente
	
	
	
	 
		
	
		2.
		Em relação as tabelas abaixo:
Marque a alternativa que possui o comando SQL utilizado para que sejam selecionadas as informações (nome do correntista e o número de conta corrente) dos correntistas do Banco do Brasil.
	
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Nome=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente, Bancos WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco IN (SELECT Codigo AS Banco FROM Bancos WHERE Nome=¿Banco do Brasil¿)
	
	
	
	 
		
	
		3.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado e o seu salário, daqueles que ganham o maior salário do seu departamento, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                   Null                  Type
------------------------------------------
EMPNO              NOT NULL   NUMBER(4)
NOME_EMP                             CHAR(10)
CARGO                                     CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                  NUMBER(7,2)
COMISSAO                              NUMBER(7,2)
DEPTNO                                   NUMBER(2) 
TABELA DEPT
Name                   Null                Type
------------------------------------------
DEPTNO           NOT NULL     NUMBER(2)
NOME_DEPT                            CHAR(14)
LOCALIZACAO                       CHAR(13)
	
	
	
	SELECT E.NOME_EMP, E.SALARIO
FROM EMP E
WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
 
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME;
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM DEPT
                                     WHERE   DEPTNO=E.DEPTNO);
	
	
	SELECT E.NOME_EMP, E.SALARIO
      FROM EMP E
      WHERE E.SALARIO=(SELECT MAX(SALARIO)
                                      FROM EMP);
	
	
	SELECT E.NOME_EMP, MAX(E.SALARIO)
      FROM EMP E
      GROUP BY E.ENOME
      HAVING SALARIO=MAX(SALARIO);
	
	
	
	 
		
	
		4.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, sexo do paciente, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <= T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac <> T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac >= T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac != T2. id_pac
	
	
	Select T1.nome_pac, T1.sexo, T2.vl_cons From PACIENTE T1, CONSULTA  T2 Where T1. id_pac = T2. id_pac
	
	
	
	 
		
	
		5.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico, nome da especialidade, data de consulta, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T4.vl_cons  From ,T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		6.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) O nome dos clientes que são cadastrados como especiais?
	
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c RIGHT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c, cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	SELECT c.nome cliente FROM cliente c INNER JOIN cliente_especial ce
	
	
	SELECT c.nome cliente FROM cliente c LEFT JOIN cliente_especial ce ON c.idcliente=ce.idcliente
	
	
	
	 
		
	
		7.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial, nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario,nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente,nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente,Km,desconto) CARRO(idcarro,placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial)ALUGUEL(NF,idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o código do Carro que tem o maior valor de aluguel?
	
	
	
	SELECT idCarro FROM aluguel a where valor = (select Max(valor) from aluguel);
	
	
	SELECT idCarro FROM aluguel a where valor = (select sum(valor) from aluguel);
	
	
	SELECT idCarro FROM aluguel a where valor = Max(valor);
	
	
	SELECT idCarro, Max(valor) FROM aluguel a group by idcarro;
	
	
	SELECT idCarro, Max(valor) FROM aluguel;
	
	
	
	 
		
	
		8.
		A linguagem mais utilizada em Sistemas de Gerenciamento de Banco de Dados (SGDBs) é a SQL. Esta fornece a possibilidade de realizar o produto cartesiano dos dados, ou seja, gera um conjunto de todos os pares ordenados. A linguagem SQL também fornece uma função que corresponde a operação de produto cartesiano da álgebra relacional, esta função é:
	
	
	
	WHERE
	
	
	SELECT
	
	
	FROM
	
	
	HAVING
	
	
	JOIN
	
Explicação:
Join - A cláusula JOIN permite que os dados de várias tabelas sejam combinados com base na relação existente entre elas.
Having ¿ Especifica um critério de pesquisa para um grupo ou uma agregação. HAVING é usado normalmente em uma cláusula GROUP BY.
Where - A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta.
Select - É o comando SQL para recuperação dos dados de uma ou mais tabelas.
From - A Cláusula FROM, faz parte do comando select e define a tabela que será recuperada.
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:57:24.
			1.
		De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome de cada empregado, o nome do seu departamento, daqueles que ganham comissão, através da linguagem SQL. O exemplo do banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é EMPNO (matrícula do empregado) e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
 
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                Null                   Type
----------------------------------------------
EMPNO           NOT NULL      NUMBER(4)
NOME_EMP                            CHAR(10)
CARGO                                    CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                 NUMBER(7,2)
COMISSAO                             NUMBER(7,2)
DEPTNO                                  NUMBER(2)
 
TABELA DEPT
Name                  Null                     Type
----------------------------------------------
DEPTNO           NOT NULL       NUMBER(2)
NOME_DEPT                              CHAR(14)
LOCALIZACAO                         CHAR(13)
	
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE  E.COMISSAO >0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO < > 0;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO>0;
     
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
HAVING E.COMISSAO IS NULL;
	
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO IS NOT  NULL;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		2.
		Qual comando abaixo representa o seguinte texto: Especifica a junção entre duas tabelas com uma cláusula de junção explícita.
	
	
	
	Group by
	
	
	Select
	
	
	Inner Join
	
	
	Order by
	
	
	Where
	
Explicação:
Where: A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro.
Select: Comando utilizado para recuperação dos dados de uma ou mais tabelas.
Group by: A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos.
Inner Join: Conecta as duas tabelas e retorna apenas as linhas que satisfazem a condição de junção.
Order by: A clausula permite ordenar qualquer resultado de uma consulta.
	
	
	
	 
		
	
		3.
		
 Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN '15/11/2014' AND '16/11/2014';":
 
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014' AND '16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('15/11/2014','16/11/2014');
	
	
	SELECT * FROM TCC WHERE DTDEFESA > '15/11/2014' AND < '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA => '15/11/2014' AND <= '16/11/2014';
	
	
	SELECT * FROM TCC WHERE DTDEFESA = '15/11/2014' AND '16/11/2014';
	
	
	
	 
		
	
		4.
		O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos.  Analise-o:
 
Professor (MatP,NomeP, telP, emailP)
Aluno (MatA, MatP, NomeA, emailA)
TCC (IDTCC, MatA, Titulo, Resumo)
 
Assinale a única alternativa que retorna exatamente os dados exibidos na figura:
	
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP;
	
	
	SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		5.
		
	
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	Gabarito
Coment.
	
	
	
	 
		
	
		6.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T2, CONSULTA T4 Where T1.id_pac   = T4.id_pac And
T4.id_med = T3.id_med And T3.id_espec= T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T3, MEDICO T4, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac,T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T2, ESPECIALIDADE T3, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		7.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico, nome da especialidade, data de consulta, valor da consulta para todos os pacientes.
	
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T3, ESPECIALIDADE T2, MEDICO T1, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T1, ESPECIALIDADE T2, MEDICO T3, CONSULTA T4 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T1, MEDICO T3, CONSULTA T2 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
		
	
		8.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
                        PACIENTE (id_pac, nome_pac, sexo, fone_pac)
                        ESPECIALIDADE (id_espec, nome_espec)
                        MEDICO (id_med, nome_med, fone_med, id_espec)
                        CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome da especialidade, nome do médico, data de consulta para todos os pacientes.
	
	
	
	Select T3.nome_med, T1.nome_pac, T2.nome_espec, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T3.nome_med, T2.nome_espec, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T2.nome_espec, T1.nome_pac, T3.nome_med, T4.dt_cons, T4.vl_cons  From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	Select T1.nome_pac, T2.nome_espec, T3.nome_med, T4.dt_cons, T4.vl_cons From PACIENTE T4, ESPECIALIDADE T3, MEDICO T2, CONSULTA T1 Where T1.id_pac = T4.id_pac  And T4.id_med = T3.id_med And T3.id_espec = T2.id_espec
	
	
	
	 
	 
	Não Respondida
	 
	 
	 Não Gravada
	 
	 
	Gravada
	
Exercício inciado em 09/05/2020 00:58:43.
			1.
		Baseado no modelo de banco de dados mostrado a seguir: FILIAL(idfilial(PK), nome, cidade,endereço,telefone) FUNCIONARIO(idfuncionario(PK),nome,endereço,telefone,salario,idfilial) CLIENTE(idcliente(PK),nome,cpf,endereço,telefone,cidade) CLIENTE_ESPECIAL(idcliente(PK),Km,desconto) CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km,valor,chassis,idfilial) ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,dataIni,dataFim,idfuncionario) Qual o nome do Funcionário que tem o maior salário?
	
	
	
	SELECT nome FROM funcionario fu where salario = (select sum(salario) from funcionario);
	
	
	SELECT nome FROM funcionario fu where salario = Max(salario);
	
	
	SELECT nome, Max(salario) FROM funcionario;
	
	
	SELECT nome, Max(salario) FROM funcionario fu group by nome;
	
	
	SELECT nome FROM funcionario fu where salario = (select Max(salario) from funcionario);
	
	
	
	 
		
	
		2.
		Analise o modelo a seguir: Empregado (nome_empregado, rua,cidade) Trabalha (nome_empregado,nome_companhia,salario) Companhia (nome_companhia,cidade) Qual é a consulta em SQL para encontrar nome, endereço e cidade de residência de todos os empregados da XXX que ganham mais de dez mil reais?
	
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario < 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e, trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e LEFT JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	SELECT e.nome_empregado, rua, cidade FROM empregado e INNER JOIN trabalha t ON e.nome_empregado = t.nome_empregado WHERE t.nome_companhia = 'XXX' AND t.salario > 10000;
	
	
	
	 
		
	
		3.
		- Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas.
 
*Obs. A numeração automática iniciará com 1.
 
PACIENTE (id_pac, nome_pac, sexo, fone_pac)
ESPECIALIDADE (id_espec, nome_espec)
MEDICO (id_med, nome_med, fone_med, id_espec)
CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med)
 
Dê o comando correspondente de Selecionar nome do paciente, nome do médico onde a data da consulta é igual à data de hoje.
	
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons < GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T2, CONSULTA T1 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T3, MEDICO T1, CONSULTA T2 Where T3.dt_cons != GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T2, MEDICO T1, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	Select T1.nome_pac, T2.nome_med, T2.dt_cons From PACIENTE T1, MEDICO T2, CONSULTA T3 Where T3.dt_cons = GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med
	
	
	
	 
		
	
		4.
		Em um projeto lógico de um sistema foi identificado que  um projeto é de um certo tipo. Assim, as relações abaixo foram definidas:
TIPO_PROJETO (ID_TIPO, NOME)
PROJETO (ID_PROJETO,  NOME,  DESCRICAO, ID_TIPO, VALOR) 
 
Conforme a linguagem SQL e as relações dadas, escolha a opção que mostre o nome de cada tipo de projeto que não possua um projeto e que comece com a letra A.
	
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE ID_TIPO IS NULL AND P.VALOR=0 AND TP.NOME LIKE 'A%';
 
	
	
	SELECT NOME
FROM TIPO_PROJETO
WHERE ID_TIPO NOT IN (SELECT DISTINCT ID_TIPO FROM PROJETO) AND NOME LIKE 'A%' ;
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO TP, PROJETO P
WHERE TP.ID_TIPO = P.ID_TIPO AND P.VALOR IS NULL AND
TP.NOME LIKE '%A%';
	
	
	SELECT TP.NOME
FROM TIPO_PROJETO

Continue navegando