2009
EAGS Aí Vo u Eu ! – SQL SE SERVE RVER R - Exe r c íc i os
1)
CREATE TABLE [estoque]([id] [int] IDENTITY(1,1) NOT NULL, [descricao] [varchar](50) NOT NULL, [valorUnitario] [money] NOT NULL, [quantidade] [int] NOT NULL, CONSTRAINT [PK_estoque] PRIMARY KEY CLUSTERED ([id] ASC) Qual comando SQL abaixo permite a correta inserção de dados na tabela criada anteriormente? a) b) c) d)
2)
A tabela X possui três colunas: A, B e C respectivamente. Sendo A responsável por armazenar nomes, B armazena idade e C o sexo. O comando SQL que permite a alteração de todas as idades, incrementando-as, quando esta maior que dezoito e o sexo feminino. a) b) c) d)
1
3)
X X X X
SET SET SET SET
B B B B
= + = +
B 1 B 1
+ 1 WHERE B >= 18 AND C = ‘F’; WHERE B >= 18 AND C = ‘F’; + 1 WHERE B > 18 AND C = ‘F’; WHERE B > 18 AND C = ‘F’;
DELETE DELETE DELETE DELETE
* FROM venda; FROM venda; FROM venda WHERE *; venda WHERE *;
CREATE TABLE [produtos_venda]([idEstoque] [int] NOT NULL, [idVenda] [quantidade] [int] NOT NULL, CONSTRAINT [PK_produtos_estoque] PRIMARY [idVenda])). Das opções abaixo, qual representa o que faz o comando: SELECT [produtos_venda] WHERE quantidade > 10 ORDER BY [idEstoque] a) b) c) d)
5)
UPDATE UPDATE UPDATE UPDATE
CREATE TABLE [venda]([id] [int] IDENTITY(1,1) NOT NULL, [dataVenda] [smalldatetime] NOT NULL, CONSTRAINT [PK_venda] PRIMARY KEY ([id] ASC)). Para que todos os registros da tabela VENDA sejam excluídos qual comando abaixo deve ser utilizado? a) b) c) d)
4)
INSERT INTO [estoque] VALUES (1, ‘Lápis’, 1.25, 100); INSERT INTO [estoque] VALUES (‘Lápis’, 1.25, 100); INSERT INTO [estoque] ([descricao], [valorUnitario], [quantidade]) VALUES (‘Lápis’, 1.25, 100); INSERT INTO [estoque] ([id], [descricao], [valorUnitario], [quantidade]) VALUES (1, ‘Lápis’, 1.25, 100);
[int] NOT NULL, KEY ([idEstoque], [idEstoque]
FROM
Seleciona todos os campos da tabela onde a quantidade é maior que dez exibindo em ordem crescente. Seleciona o campo idEstoque da tabela onde a quantidade é maior ou igual a dez exibindo em ordem crescente. Seleciona todos os campos da tabela onde a quantidade é maior que dez exibindo em ordem decrescente. Seleciona o campo idEstoque da tabela onde a quantidade é maior que dez exibindo em ordem crescente.
Considere a seguinte definição de dados: CREATE
TABLE
EMPREGADO
(NOME
VARCHAR(50)
NOT
NULL,
CPF
CHAR(11)
NOT
NULL,
PRIMARY
KEY
(CPF)); em que a tabela EMPREGADO armazena os dados dos empregados, que são descritos pelos atributos NOME (nome do empregado) e CPF(CPF do empregado). Qual
a
expressão,
em
SQL
que
irá
obter
o
CPF
e
o
NOME
do(s)
empregado(s)
em
ordem
alfabética de nome? a) b) c) d)
6)
SELECT SELECT SELECT SELECT
CREATE
CPF, CPF, CPF, CPF,
TABLE
NOME NOME NOME NOME
FROM FROM FROM FROM
EMPREGADO
EMPREGADO EMPREGADO EMPREGADO EMPREGADO
(NOME
ORDER WHERE WHERE WHERE
BY NOME ASC. NOME ORDER BY ASC. ORDER BY NOME ASC. NOME ASC ORDER.
VARCHAR(50)
NOT
NULL,
CPF
CHAR(11)NOT
NULL,
SALARIO
INT,
PRIMARY KEY (CPF)). Considerando a definição de dados acima, em que a tabela empregados,
que
são
descritos
pelos
atributos
NOME
EMPREGADO (nome
do
armazena
Empregado),
os dad os dos CPF(CPF
do
empregado) e SALARIO (salário do empregado em reais), qual a expressão em SQL que irá obter o nome dos empregados cujo salário é superior a R$ 250,00 (duzentos e cinqüenta reais) ? a) b) c) d)
SELECT SELECT SELECT SELECT
NOME FROM EMPREGADO WHERE SALARIO >= 250. NOME FROM EMPREGADO WHERE SALARIO > 250. NOME FROM EMPREGADO WHERE SALARIO < 250. NOME, SALARIO FROM EMPREGADO WHERE SALARIO >= 250.
Pr of . Nissandro Nissandro d a Sil Sil va Rib Rib eir o
2009
EAGS Aí Vo u Eu! – SQL SERVER - Exe r cíc i os
7)
Considera a seguinte definição de dados. CREATE PRIMARY
TABLE KEY
descritos
EMPREGADO (CPF));
pelos
(NOME
em
que
atributos
a
VARCHAR tabela
NOME
(50)
NOT
NULL, CPF
EMPREGADO
(nome
do
armazena
empregado),
CHAR(11) os
dados
CPF(CPF
NOT
NULL,
dos
empregados
do
SALARIO
empregado)
e
INT,
que
são
SALARIO
(salário do empregado) Qual a expressão em SQL que irá obter os salários que são pagos aos empregados e, para cada um dos salários, o número de empregados que recebem este mesmo salário? a) b) c) d)
2
8)
SELECT SELECT SELECT SELECT
SALARIO FROM EMPREGADO SALARIO, COUNT(*) FROM SALARIO, COUNT(*) FROM SALARIO, COUNT(*) FROM
WHERE COUNT(NOME). EMPREGADO WHERE NOME. EMPREGADO. EMPREGADO GROUP BY SALARIO.
Considere a seguinte definição de dados: CREATE
TABLE
EMPREGADO
(NOME
VARCHAR
(50)
NOT
NULL, CPF
CHAR(11)
NOT
NULL,
SALARIO
INT,
PRIMARY KEY (CPF)); em que a tabela EMPREGADO armazena os dados dos empregados, que são descritos
pelos
atributos
NOME
(nome
do
empregado),
CPF(CPF
do
empregado)
e
SALARIO
(salário do empregado). Qual
a
expressão
em
SQL
que
irá
aumentar
em
10%
(dez
por
cento)
o
salário
de
todos
empregados? a) b) c) d)
9)
UPDATE UPDATE UPDATE UPDATE
EMPREGADO SET SALARIO = SALARIO * 1.1 SALARIO FROM EMPREGADO WHERE SALARIO = SALARIO * 1.1 SALARIO FROM EMPREGADO SET SALARIO = SALARIO * 1.1 SALARIO PROM EMPREGADO GROUP BY NOME
Considere a seguinte definição de dados: CREATE PRIMARY
TABLE KEY
descritos
EMPREGADO (CPF));
pelos
em
(NOME que
atributos
a
VARCHAR(50) tabela
NOME
NOT
NULL,
EMPREGADO
(nome
do
CPF
armazena
empregado),
CHAR(11)
NOT
NULL,
os
dos
empregados
dados
CPF(CPF
do
SALARIO
empregado)
que
INT, são
e
SALARIO
as
tabelas
(salário do empregado), Qual a expressão em SQL que irá obter o salário médio dos empregados?
a) b) c) d)
SELECT SELECT SELECT SELECT
10) Qual
dos
AVG (SALARIO) FROM EMPREGADO. AVG (SALARIO) PROM EMPREGADO WHERE SALARIO. SALARIO PROM EMPREGADO WHERE AVG (SALARIO). SALARIO FROM EMPREGADO GROUP BY SALARIO.
comandos
SQL
abaixo
relacionados
não
pode
ser
executado
sobre
especificadas? Tabela Funcionário:
coluna
Tipo de dado
Restrição
matricula
Number(8)
Chave Primária
nome
Char(60)
Não Nulo
nome_mae
Char(60)
Não Nulo
nome_pai
Char(60)
Telefone
Char(8)
Pr of . Nissandro d a Sil va Rib eir o
2009
EAGS Aí Vo u Eu! – SQL SERVER - Exe r cíc i os
Tabela-exemplo: matrícula
nome
nome_mae
nome_pai
telefone
12345678
Fá bio
Célia
Jairo
2 3i5678
12345680
João
Maria
Pedro
2224455
12345670
Carlos
Ana
José
12345671
Telmo
Lúcia
3 a) UPDATE funcionario SET nome_pai = NULL WHERE matricula=12345678 b) DELETE FROM funcionario c) UPDATE funcionario SET matricula = 12345678 d) INSERT INTO funcionario (nome, nome_pai, nome_mae, matricula) VALUES ('José da Silva', NULL, 'Maria da Silva', 12345672)
11) UPDATE CONTA SET SALDO=SALD0 * 2 WHERE SALDO > SELECT AVG(SALDO) FROM CONTA O comando SQL (STRUCTURED QUERY LANGUAGE - Linguagem de Consulta Estruturada) acima realiza qual
função
num
banco
de
dados
relacional
que
contém
a
seguinte
tabela:
CONTA
(#NUMERO_CONTA, SALDO) Onde: NUMERO_CONTA é o número que identifica cada conta SALDO é o valor total disponível para a correspondente conta a) Atualiza todas as contas cujos saldos estejam acima da média de saldos, multiplicando o saldo anterior por dois. b)
Atualiza
todas
as
contas
cujos
saldos
estejam
acima
do
valor
mínimo,
multiplicando
o
saldo anterior por dois. c) Seleciona a primeira conta que possui saldo acima da média de saldos. d) Transfere para conta e multiplica por dois todos os saldos acima do valor mínimo.
12) Funções agregadas em SQL (STRUCTURED QUERY LANGUAGE - Linguagem de Consulta Estruturada) tomam
uma
coleção
de
valores
como
entrada,
retornando
um
valor
simples.
São
funções
agregadas em SQL : a) AVG, RETURN, MIN b) SUM , COUNT, WHERE c) GROUP, COUNT, MIN d) MAX, AVG, SUM
13) SELECT NOME_CLIENTE FROM CLIENTE WHERE RUA_CLIENTE LIKE “%VAHIA%” O comando SQL (STRUCTURED QUERY LANGUAGE - Linguagem de Consulta Estruturada) acima realiza qual função num banco de dados relacional que contém a seguinte tabela: CLIENTE (#NUMERO_CLIENTE, NOME_CLIENTE, RUA_CLIENTE) Onde: NUMERO_CLIENTE é o número que identifica cada cliente; NOME_CLIENTE é o nome do cliente; RUA_CLIENTE é a rua onde reside o cliente. a) Serão listados todos os nomes de clientes da tabela cliente, exceto os que contenham a substring “VAHIA” no campo rua_cliente. b) Serão listados todos os nomes de clientes da tabela cliente que contenham a substring VAHIA no campo rua_cliente. c)
Seleciona
o
primeiro
nome
de
cliente
da
tabela
cliente
que
não
contenha
a
substring
"VAHIA" no campo rua_cliente d) Seleciona o primeiro nome de cliente da tabela cliente que contenha a substring "VAHIA" no campo rua_cliente.
Pr of . Nissandro d a Sil va Rib eir o
2009
EAGS Aí Vo u Eu! – SQL SERVER - Exe r cíc i os
14) Tabelas : FUNCIONARIO (#MATRICULA, SALARIO, DATA_NASC, NUM_DEPTO) DEPARTAMENTO(#COD_DEPTO, NOME_DEPTO) MATRICULA:
Matrícula do funcionário
SALARIO:
Salário do funcionário
DATA_NASC:
Data de nascimento do funcionário
NUM_DEPTO:
Código do departamento onde o funcionário trabalha Deve ser igual a algum valor de COD_DEPTO existente na tabela DEPARTAMENTO Um funcionário trabalha em apenas um departamento
COD_EPTO:
Código do departamento
NOME_DEPTO:
Nome do departamento
Considere as tabelas acima, a descrição de seus campos, e assinale a alternativa que contém
4
o comando SQL que executa a seguinte consulta: “Para todos os departamentos que possuem mais de 3 funcionários, selecione o código do departamento a o número total de empregados com salário > 5000” a) SELECT NUM_DEPTO, COUNT(*) FROM FUNCIONARIO WHERE SALARIO>5000 GROUP BY NUM_DEPTO HAVING COUNT(*) > 3; b) SELECT NUM_DEPTO, COUNT(*) FROM FUNCIONARIO WHERE SALARIO>5000 AND NUM_DEPTO IN (SELECT NUM_DEPTO FROM FUNCIONARIO GROUP BY NUM_DEPTO HAVING COUNT(*) >3) GROUP BY NUM_DEPTO; c) SELECT NUM_DEPTO, COUNT(*) FROM FUNCIONARIO WHERE SALARIO>5000 AND NUM_DEPTO>3; d) SELECT NUM_DEPTO, COUNT(*) FROM FUNCIONARIO WHERE SALARIO>5000 AND COUNT(*)>3 GROUP BY NUM_DEPTO;
15) CREATE TABLE LECIONA_DISCIPLINA (matProfessor INTEGER NOT NULL, codDisciplina INTEGER NOT NULL,
PRIMARY
(codDisciplina)
KEY
(matProfessor,
REFERENCES
codDisciplina),
DISCIPLINA(codDisciplina)
UNIQUE ON
(matProfessor), DELETE
CASCADE,
FOREIGN
KEY
FOREIGN
KEY
(matProfessor) REFERENCES PROFESSOR(matProfessor) ON DELETE CASCADE); Com base na declaração apresentada, segundo o padrão SQL-92, pode-se afirmar que: a) um mesmo professor pode lecionar mais de uma disciplina. b) pode haver mais de um professor lecionando a mesma disciplina. c) ao ser removida uma linha relativa a um professor da tabela LECIONA_DISCIPLINA, será, automaticamente, removido o correspondente professor na tabela PROFESSOR. d) a chave primária poderia ser apenas codDisciplina.
Gabarito 1 – C 2 – C 3 – B 4 - D 5 6 7 8 9 10 11 12 13 14 15
– – – – – – – – – – –
A B D A A C A D B A B
Pr of . Nissandro d a Sil va Rib eir o