Buscar

aula9 exercicio4

Prévia do material em texto

1a Questão
	
	
	
	
 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','16/11/2014');
	
	SELECT * FROM TCC WHERE DTDEFESA IN ('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 = '15/11/2014' AND '16/11/2014';
	
	 2a Questão
	
	
	
	
	Considere as seguintes tabelas:
    CLIENTE   (idCli, NomeCli)
    PEDIDO   (idPEDIDO, Data, idCli, ValorPedido)
Qual alternativa apresenta os clientes que NÃO tiveram nenhum pedido?
		
	
	SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli FROM PEDIDO)
	
	SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON C.idCli = P.idCli
	
	SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON C.idCli = P.idCli
	
	SELECT * FROM CLIENTE
	 
	SELECT * FROM CLIENTE WHERE idCli NOT IN (SELECT idCli FROM PEDIDO)
	
Explicação: sub-select listando clientes com pedido
	
	 
	
	
	
	 3a Questão
	
	
	
	
	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
	 
	JOIN
	
	FROM
	
	HAVING
	
	SELECT
	 4a Questão
	
	
	
	
	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 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 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 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;
	
	 5a Questão
	
	
	
	
	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 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 Pessoa=CPF AND Banco=¿Banco do Brasil¿
	
	SELECT Nome, Numero FROM Pessoas, Conta_Corrente WHERE Pessoa=CPF AND Banco=¿Banco do Brasil¿
	 6a Questão
	
	
	
	
	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.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
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;
	
	SELECT E.NOME_EMP,D.NOME_EMP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND E.COMISSAO>0;
     
	
	 7a Questão
	
	- 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 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 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, 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 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, 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
	 8a Questão
	
	- 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 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 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 T3, MEDICO T1, CONSULTA T2 Where T3.dt_cons != GETDATE() And T3.id_pac = T1.id_pac And T3.id_med = T2.id_med

Continue navegando