Baixe o app para aproveitar ainda mais
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
Compartilhar