Teste Prática de SQL
1 – Das alternativas abaixo, marque as que são verdadeiras na etapa de criação de uma tabela:
( ) Inicia com: CREATE VIEW ( … );
( ) Pode utilizar a opção ALTER TABLE …. no CREATE;
( ) Pode adicionar PRIMARY KEY, UNIQUE KEY ou FOREIGN KEY dentro da criação?
( ) Posso criar um campo que somente aceita um determinado conjunto de valores?
( ) Preciso sempre ter uma PRIMARY KEY?
a) F – F – V – V – V
b) F – F – V – F – V
c) V – V – F – V – F
d) V – V – F – F – V
e) F – F – V – V – F
f) V – V – F – F – F
2 – Das opções de alterar uma tabela, consideramos corretas:
( ) ALTER TABLE table1 ADD nr_cpf char(11);
( ) DROP TABLE table1;
( ) ALTER TABLE table1 DROP COLUMN nr_cpf;
( ) ALTER TABLE table1 ADD COLUMN nr_cpf char(11);
( ) ALTER TABLE table1 ADD UNIQUE KEY (nr_cpf);
3 – Considerando a ordem de execução acima como um script para a tabela table1 executa até o final ou da erro? Se der erro cite em qual etapa!
R.:
4 – Na execução de um INSERT em uma tabela qualquer que possui 5 campos, desses 5 temos 3 obrigatórios, 1 com valor default e 1 não obrigatório, é necessário colocar todos campos após o nome da tabela (INSERT INTO table1 (campo1, campo2, …)? Se não for, diga quais seriam o mínimo.
R.:
5 – Quando executamos um UPDATE ou um DELETE qual a importância de possuirmos a clausula WHERE?
R.:
6 – Para que serve um ALIAS de tabela? E é somente para tabela?
R.:
7 – Dessa consulta abaixo aponte quais as opções são verdadeiras:
SELECT fname, lname
FROM (SELECT emp_id, fname, lname,
start_date, title FROM employee) e;
( ) A parte em negrito é uma view?
( ) A consulta funciona;
( ) Existem alguma ALIAS e está sendo utilizado corretamente?
( ) Existe alguma subconsulta nesse SQL?
( ) A consulta final mostra todas as colunas da tabela employee;
8 – Sobre VIEW podemos afirmar que:
a) Sempre é utilizada como subconsulta em um SQL;
b) Não precisa necessariamente ter um nome definido;
c) Precisa sempre ser criada com CREATE OR REPLACE table?
d) Precisa de uma clausula AS antes do select na criação?
e) N.D.A
9 – Qual a diferença entre: INNER JOIN e JOIN?
R.:
10 – Para que serve a clausula WHERE? Ela pode ser seguida de mais alguma outra condição?
R.:
11 – Preencha as lacunas do SQL abaixo, que quer mostrar o nome e sobrenome do funcionário seguido do nome e sobrenome do seu superior:
SELECT e.fname, e.lname, e_mgr.fname mgr_fname, e_mgr. mgr_lname
FROM e INNER JOIN employee e_mgr
ON e.superior_emp_id = e_mgr.;
1 = ______________
2 = ______________
3 = ______________
12 – Qual seria a outra forma de escrever o SQL abaixo:
SELECT account_id, product_cd, cust_id, avail_balance
FROM account
WHERE product_cd = 'CHK'
OR product_cd = 'SAV'
OR product_cd = 'CD'
OR product_cd = 'MM';
R.:
13 – Sobre valores NULL, o que significa? O SQL1 abaixo está correto? E o SQL2?
R.:
SQL1: SELECT * FROM employee WHERE emp_id = NULL;
SQL2: SELECT * FROM employee WHERE NULL = NULL;
14 – Dos SQLs abaixo, podemos dizer que tem diferença entre eles?
SELECT e.fname, e.lname, d.name
FROM employee e INNER JOIN department d
ON e.dept_id = d.dept_id;
SELECT e.fname, e.lname, d.name
FROM employee e INNER JOIN department d
USING (dept_id);
SELECT e.fname, e.lname, d.name
FROM employee e NATURAL JOIN department d;
( ) SIM
( ) NÃO
15 – Analisando os dados abaixo:
Txn_id Txn_date Account_id Txn_type_cd Amount
1 2005-02-22 101 CDT 1000.00
2 2005-02-23 102 CDT 525.75
3 2005-02-24 101 DBT 100.00
4 2005-02-24 103 CDT 55
5 2005-02-25 101 DBT 50
6 2005-02-25 103 DBT 25
7 2005-02-25 102 CDT 125.37
8 2005-02-26 103 DBT 10
9 2005-02-27 101 CDT 75
a) Quais os IDs da transação que seriam retornados pelas seguintes condições de filtro?
txn_date >= ‘2005-02-24’ AND (txn_type_cd = ‘DBT’ AND amount < 100)
b) Quais os IDs da transação que seriam retornados pelas seguintes condições de filtro? account_id NOT IN (102) AND (txn_type_cd = ‘DBT’ OR amount > 500)
16 – Dos SQLs abaixo, podemos dizer que tem diferença entre eles?
SELECT a.account_id, c.fed_id, e.fname, e.lname
FROM account a INNER JOIN customer c
ON a.cust_id = c.cust_id
INNER JOIN employee e
ON a.open_emp_id = e.emp_id
WHERE c.cust_type_cd = 'B';
SELECT a.account_id, c.fed_id, e.fname, e.lname
FROM customer c INNER JOIN account a
ON a.cust_id = c.cust_id
INNER JOIN employee e
ON a.open_emp_id = e.emp_id
WHERE c.cust_type_cd = 'I';
SELECT a.account_id, c.fed_id, e.fname, e.lname
FROM employee e INNER JOIN account a
ON e.emp_id = a.open_emp_id
INNER JOIN customer c
ON a.cust_id = c.cust_id
WHERE c.cust_type_cd = 'I';
( ) SIM
( ) NÃO
17 – Preencha as lacunas do SQL abaixo:
SELECT a.account_id, e.emp_id, b_a.name open_branch, b_e.name emp_branch
FROM account a INNER JOIN b_a
ON a.open_branch_id = .branch_id
INNER JOIN employee e
ON a.open_emp_id = e.
INNER JOIN branch b_e
ON .assigned_branch_id = b_e.branch_id
WHERE a.product_cd = 'CHK';
1 = _______________
2 = _______________
3 = _______________
4 = _______________
18 – Quando falamos de conjuntos e a clausula UNION/UNION ALL podemos dizer que a ordem deles dentro de um SQL pode alterar o resultado?
R.:
19 – Quando precisamos utilizar filtro de por condição, o SQL abaixo está correto?
Caso não escreva o SQL correto.
SELECT open_emp_id, COUNT(*) Total
FROM account
WHERE COUNT(*) > 4
GROUP BY open_emp_id;
R.:
20 – Para contar todos os empregados distintos (open_emp_id) que abriram conta (account), como fica o SQL?
R.:
21 – Sobre as junções externas explique o que é o LEFT OUTER JOIN e o RIGTH OUTER JOIN.
R.:
22 – O que é um produto cartesiano (CROSS JOIN)?
R.:
Att,
capin
cade as respostas?
Posso dizer que estão no conteúdo!
Blz?
hehehhe
Poxa, nunca me perguntaram por isso nunca postei, até achei que ninguém faria, mas vou postar sim.
Desculpa a falha ai.
abraços
capin
Como estou sem projeto, estou fazendo os simulados e quando criar coragem eu faço a prova OCA,
vlew pela atenção.
Isaac,
não tive tempo, mas não esqueci.
Abraços
capin
qual a respostas
Antonio, estão sendo providenciadas e deverão ser publicadas até o final de semana.
Desculpa a falha e a demora.
capin
Para quem esperava as respostas estão aqui:
http://certificacaobd.com.br/2012/09/08/teoria-teste-pratico-de-sql-respostas/
capin
Muito bom, me fez me auto questionar alguns conhecimentos.