Aula 00
Curso: Informática – Teoria e Questões
comentadas p/ TRF
Aula 04Professor: Gustavo Cavalcante
Curso: Tecnologia da Informação para ICMS-SC
`Ìi`ÊÜÌ
ÊÌ
iÊ`iÊÛiÀÃÊvÊ
vÝÊ*ÀÊ*Ê
`ÌÀÊ
Resumo + Questões Comentadas
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
Professor: Ramon Souza ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
ASSUNTOS PÁGINA
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
1. SQL .............................................................................................. 3
1.1 Introdução ao SQL ............................................................................ 3
1.2 A instrução SELECT ........................................................................... 5
1.3 Ordenação com SELECT ................................................................... 14
1.4 Funções de agregação ..................................................................... 16
1.5 Agrupamentos com SELECT .............................................................. 17
1.6 Junções (joins) ............................................................................... 19
2. QUESTÕES COMENTADAS ............................................................. 21
3. LISTAS DE EXERCÍCIOS ................................................................ 36
4. GABARITO ................................................................................... 46
5. REFERÊNCIAS .............................................................................. 46
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1. SQL
Por ser um padrão, ela é foi um dos principais motivos para o sucesso
dos bancos de dados comerciais, pois os usuários possuem liberdade para
alternar entre os SGBDs, sem ter que mudar os códigos SQL. Contudo, vale
mencionar que existem diferentes versões da linguagem SQL que fogem um
pouco do padrão.
A linguagem SQL possui comandos para acesso e manipulação dos
dados, mas também para a criação, exclusão e alteração das tabelas, índices e
demais estruturas de bancos de dados, além de comandos para controlar os
dados e transações. Dada essa amplitude, geralmente se fala em subdivisões
da linguagem, geralmente tratando-se dos seguintes subgrupos:
SQL
Específica para
Somente o Específica para
armazenament
SELECT visões
o
SELECT CREATE GRANT COMMIT
UPDATE DROP
DELETE
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
SQL
Específica
Somente o Específica para
SELECT para visões armazename
SELECT CREATE nto GRANT COMMIT
UPDATE DROP
DELETE
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1.2 A instrução SELECT
•lista_de_atributos
•condição
•* retorna todos os
atributos. •nome_tabela
•Opcional, mas
geralmente usada.
•DISTINCT elimina
duplicidades.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
a)
b)
c)
d)
e)
Resolução:
Em uma tabela, frequentemente, uma coluna pode conter valores duplicados e,
algumas vezes, estamos interessados somente nos valores diferentes. Para isso,
usa-se a cláusula DISTINCT após o SELECT. Ao usar SELECT DISTINCT,
somente serão retornados os valores diferentes ou distintos, isto é, não são
exibidos valores duplicados. A sintaxe é:
SELECT DISTINCT coluna1, coluna2, ... FROM nome_da_tabela WHERE
condição;
A questão pede para selecionar (SELECT) sem repetição (DISTINCT) todos os
nomes de advogados da (FROM) tabela TabProcessos. Assim temos a seguinte
consulta: SELECT DISTINCT NomeAdvogado FROM TabProcessos;
Gabarito: Letra D.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Condições
= igual
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
< menor
> maior
<> diferente
IN possíveis valores
Operador BETWEEN
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Ao ser digitado um comando SQL, foi exibido na tela.
NumeroProcesso DataAbertura
6789764-02.2016.1.80.0003 2016-03-30
9876534-05.2016.1.00.0000 2016-03-20
O comando digitado foi:
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
Operador IN
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Operador LIKE
Você pode definir uma série de padrões para a consulta, mas o quadro a
seguir apresenta alguns significados básicos para os padrões:
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Expressão Resultado
LIKE ‘%”%’ Qualquer string que tenha o caractere ' em qualquer posição.
Assim, temos que SELECT * FROM cidadao WHERE nome LIKE ‘_a%’ traz
todos os cidadãos que tem a vogal a na segunda letra do nome.
Gabarito: Letra B.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Mais de uma condição e negação de condição
AND
•SELECT coluna1, coluna2, ... FROM nome_da_tabela WHERE condição1
AND condição2 AND condição3 ...;
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Um esquema geral sobre a sintaxe básica da instrução SELECT é:
mais de
uma
condição
Lista de
SELECT FROM tabela WHERE condição ou
atributos
negação
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
de
condição
<
<=
> AND
coluna1, coluna
2, ...
*
SELECT <> NOT
OU
BETWEEN
SELECT
DISTINCT
coluna1, coluna
2, ... LIKE
FROM tabela
ou
IN
*
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1.3 Ordenação com SELECT
Ordem
colunas
crescente
Ordem
ORDER BY colunas ASC
crescente
Ordem
colunas DESC
decrescente
Esquema 7 – Cláusula ORDER BY.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1.4 Funções de agregação
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1.5 Agrupamentos com SELECT
A cláusula HAVING pode ser usada para definir uma condição para
um agrupamento com GROUP BY.
A sintaxe básica da cláusula GROUP BY com HAVING é:
SELECT colunas FROM nome_da_tabela WHERE condição GROUP BY
coluna HAVING condição;
condição com
GROUP BY coluna HAVING função
agregadora
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
1.6 Junções (joins)
INNER JOIN
•Retorna somente os registros que possuem valores relacionados em ambas as tabelas,
isto é, as intersecções.
LEFT JOIN
•Retorna todos os registros da tabela da esquerda, e os registros relacionados da tabela
da direita.
•Preenche campos não relacionados na tabela da direita com NULL.
RIGHT JOIN
•Retorna todos os registros da tabela da direita, e os registros relacionados da tabela da
esquerda.
•Preenche campos não relacionados na tabela da esquerda com NULL
SELF JOIN
•União de uma tabela com ela mesma.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
ORDER BY Clientes.NomeCliente;
Esta instrução seleciona todas as linhas de ambas as tabelas, desde que haja
uma correspondência entre as colunas ClienteID. Se houver linhas na tabela
Clientes que não tem correspondentes na tabela Pedidos, esses clientes não
serão listados.
Para que a instrução dê o resultado descrito, a lacuna I deve ser preenchida
com
a) INNER JOIN Pedidos
b) LEFT JOIN
c) RIGHT OUTER JOIN
d) FULL OUTER JOIN
e) LEFT OUTER JOIN
Resolução:
A cláusula INNER JOIN (ou simplesmente JOIN) retorna somente os registros
que possuem valores relacionados em ambas as tabelas, isto é, as intersecções.
Gabarito: Letra A.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
2. QUESTÕES COMENTADAS
SQL
10- (FCC - 2017 - TST - Técnico Judiciário – Programação) Para criar um
banco de dados relacional chamado Tribunal e excluir uma tabela chamada
Consulta, um Programador deverá escrever corretamente as expressões SQL
a) CREATE DATABASE Tribunal; e DELETE TABLE Consulta;
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
SQL
Específica
Somente o Específica para
SELECT para visões armazenamen
SELECT CREATE to GRANT COMMIT
UPDATE DROP
DELETE
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
11- (FCC - 2017 - TRF - 5ª REGIÃO - Analista Judiciário - Informática
Desenvolvimento) Para localizar os juízes cujos nomes começam pela letra p
e têm pelo menos 3 caracteres de comprimento (incluindo p) utiliza-se a
instrução SELECT * FROM juizes WHERE nome
a) LIKE 'p_%_%';
b) BEGINS WITH 'p' AND LENGTH>=3;
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
12- (FCC - 2017 - TRE-SP - Analista Judiciário - Análise de Sistemas)
Em uma situação hipotética, ao ser designada para atender aos requisitos de
negócio de um usuário, uma Analista de Sistemas do TRE-SP escreveu
expressões e comandos para serem executados em um Banco de Dados
Relacional que visavam (1) criar uma tabela que contivesse dados de processos
partidários, (2) controlar a segurança e o acesso a ela e (3) manipular dados
nela. Desta forma ela, se valeu, correta e respectivamente, por exemplo, de
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
SQL
Específica
Somente o Específica para
SELECT para visões armazenamen
SELECT CREATE to GRANT COMMIT
UPDATE DROP
DELETE
De acordo com as descrições temos que a questão pede um comando DDL para
(1), um comando DCL para (2) e um comando DML para (3).
a) Incorreto: CREATE (DDL), GRANT (DCL) e ALTER (DDL).
b) Incorreto: DROP (DDL), ALTER (DDL) e UPDATE (DML).
c) Incorreto: INSERT (DDL), INDEX (Não é comando) e CREATE (DDL).
d) Incorreto: INSERT (DDL), REVOKE (DCL) e SELECT (DQL).
e) Correto: CREATE (DDL), REVOKE (DCL) e INSERT (DML).
Gabarito: Letra E.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
13- (FCC - 2017 - TST - Técnico Judiciário – Programação) Um
Programador pretende executar uma instrução SQL que recupere todos os
dados da tabela produto cujos preços (preco) sejam maiores ou iguais R$
100,00 e menores ou iguais a R$ 1.000,00. A expressão para isso é SELECT *
FROM produto
a) WHEN preco GREATER 99 AND LESS 1000;
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
14- (FCC - 2017 - TRT - 24ª REGIÃO (MS) - Técnico Judiciário -
Tecnologia da Informação) Para obter o número de funcionários cujo
conteúdo do campo nome da tabela funcionario termina com a letra o deve-se
utilizar a instrução SQL SELECT COUNT(*) FROM funcionario WHERE
a) nome LIKE '*o';
b) nome LIKE '%o';
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
c) SUBSTR(nome,LEN(nome)-1)='o';
d) nome CONTAINS '%o';
e) SUBSTR(nome,0)='o';
Resolução:
Para busca parcial de string, o SELECT fornece o operador LIKE. Alguns
exemplos de expressões com strings usando o operador LIKE são mostrados na
tabela abaixo.
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
15- (FCC - 2017 - TRT - 24ª REGIÃO (MS) - Técnico Judiciário -
Tecnologia da Informação) Em um banco de dados Oracle aberto e em
condições ideais há uma tabela chamada funcionario com os campos
idFuncionario (inteiro − primary key), nome (cadeia de caracteres) e salario
(real). Para exibir o nome e o salário de todos os funcionários cujo valor de
salário esteja fora do intervalo de 1000 a 12000 utiliza-se a instrução SQL
SELECT nome, salario FROM funcionario WHERE
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
e) CONTAINS '_2%'
Resolução:
Para busca parcial de string, o SELECT fornece o operador LIKE. Alguns
exemplos de expressões com strings usando o operador LIKE são mostrados na
tabela abaixo.
Expressão Resultado
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
II. SELECT COUNT (DISTINCT IdRodovia) FROM TabPSAD;
III. SELECT IdRodovia, ADD (Vagas_Estacionamento) FROM TabPSAD GROUP
BY Area_Descanso;
Está correto o que consta em
a) II, apenas.
b) I e III, apenas.
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
c) III, apenas.
d) I e II, apenas.
e) I, II e III.
Resolução:
Vamos analisar cada item da questão.
I. Correto: SELECT IdRodovia FROM TabPSAD WHERE Vagas_Estacionamento
> 300; Seleciona o IdRodovia na tabela TabPSAD, das rodovias com mais de
300 vagas de estacionamento. A sintaxe do comando SELECT é: SELECT
nome_coluna(s) FROM nome_tabela WHERE condicao;
II. Correto: SELECT COUNT (DISTINCT IdRodovia) FROM TabPSAD; Seleciona
a quantidade de rodovias com IdRodovia distintos da tabela TabPSAD. A sintaxe
do SELECT com COUNT e DISTINCT é: SELECT nome_coluna(s)
COUNT(DISTINCT nome_coluna, [nome_coluna(s)]) FROM nome_tabela
WHERE condicao;
III. Incorreto: SELECT IdRodovia, ADD (Vagas_Estacionamento) FROM
TabPSAD GROUP BY Area_Descanso IdRodovia;
A instrução GROUP BY deve ser realizado sobre uma ou mais colunas
constantes no SELECT. O comando ADD é utilizado junto ao comando ALTER
TABLE e não SELECT.
Gabarito: Letra D.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
WHERE Peso IS BETWEEN 2 TO 18;
c) SELECT Objeto (Nome, Peso)
HAVING Peso INSIDE (2; 18);
d) SELECT Objeto (Nome, Peso)
FOR Peso INSIDE (2;18);
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
20- (FCC - 2016 - Prefeitura de Teresina - PI - Analista Tecnológico -
Analista de Suporte Técnico) Considere a seguinte tabela de um banco de
dados relacional:
Item (ID, Nome, Valor, Tipo)
A consulta em linguagem SQL para obter o Tipo e o valor médio dos itens,
considerando itens de mesmo tipo é
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
d) Incorreto: SELECT Tipo, COUNT (Valor) FROM Item WHERE Tipo IN SET.
Nesse caso não a necessidade de uma cláusula WHERE. Não existe o
comando IN SET.
A função COUNT() retorna o número de linhas que combinam com o
critério especificado.
e) Incorreto: SELECT Tipo, Média (Valor) FROM Item. Não existe o comando
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
Média.
Gabarito: Letra C.
21- (FCC - 2016 - TRT - 14ª Região (RO e AC) - Técnico Judiciário -
Tecnologia da Informação) Para selecionar na tabela Colaboradores de um
banco de dados relacional, aberto e em condições ideais, todos os registros cujo
conteúdo do campo nome não inicie pela palavra 'Mar' utiliza-se o comando
SELECT * FROM Colaboradores WHERE nome
a) NOT LIKE 'Mar%';
b) IS NOT 'Mar%';
c) <> 'Mar*';
d) NOT LIKE 'Mar*';
e) != 'Mar%';
Resolução:
Para busca parcial de string, o SELECT fornece o operador LIKE. Alguns
exemplos de expressões com strings usando o operador LIKE são mostrados na
tabela abaixo.
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
posição.
Assim, temos que SELECT * FROM Colaboradores WHERE nome LIKE 'Mar%'
traz todos os colaboradores que começam com ‘Mar’.
Como a questão solicita os colaboradores que não iniciem com essa cadeia de
caracteres, então devemos usar a cláusula NOT e, portanto, a consulta a seguir:
SELECT * FROM Colaboradores WHERE nome NOT LIKE 'Mar%';
Gabarito: Letra D.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
Resolução:
O operador IN permite especificar múltiplos valores para uma condição,
isto é, a condição será testada com base na lista de valores indicada.
Basta que o registro satisfaza a qualquer uma das condições para ser retornado,
logo, equivale a uma operação com múltiplas cláusulas OR.
Gabarito: Letra C.
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
Expressão Resultado
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
posição.
Assim temos que a consulta SELECT Produto FROM Mercadoria WHERE Produto
LIKE ('%er%') traz as strings que começam possuem ‘er’ em qualquer posição.
Vamos analisar cada item.
a) Incorreto: torneira, persiana.
b) Incorreto: feira, celular.
c) Incorreto: registro, cerca.
d) Incorreto: prego, prendedor.
e) Correto: caderno, energia.
Gabarito: Letra E.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
3. LISTAS DE EXERCÍCIOS
Questões comentadas durante a aula.
1- (FCC - 2017 - TST - Técnico Judiciário – Programação) Um
Programador:
I. criou uma tabela e uma view em um banco de dados relacional.
II. alterou a estrutura da tabela.
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
a)
b)
c)
d)
e)
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
9876534-05.2016.1.00.0000 2016-03-20
Ao ser digitado um comando SQL, foi exibido na tela.
NumeroProcesso DataAbertura
6789764-02.2016.1.80.0003 2016-03-30
9876534-05.2016.1.00.0000 2016-03-20
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
c) LIKE cidade_origem IS NOT ('Brasília','Campinas');
d) WHERE cidade_origem NOT IN ('Brasília' OR 'Campinas');
e) WHERE cidade_origem IS NOT ('Brasília';'Campinas');
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
8- (FCC - 2018 - DPE-AM - Assistente Técnico de Defensoria -
Programador) Considere que exista uma tabela denominada TabProcessos que
possui os seguintes campos: NroProcesso (tipo varchar), NroVara (tipo int),
CPFAutor (tipo varchar). Para que seja feita uma consulta que resulte no total
de processos em cada uma das varas, o comando SQL correto é
a) SELECT NroVara, COUNT (NroProcesso) FROM TabProcessos;
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
SQL
10- (FCC - 2017 - TST - Técnico Judiciário – Programação) Para criar um
banco de dados relacional chamado Tribunal e excluir uma tabela chamada
Consulta, um Programador deverá escrever corretamente as expressões SQL
a) CREATE DATABASE Tribunal; e DELETE TABLE Consulta;
b) INSERT DATABASE Tribunal; e DELETE TABLE = Consulta;
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
a) WHEN preco GREATER 99 AND LESS 1000;
b) WHERE preco BETWEEN 100 AND 1000;
c) LIKE preco BETWEEN 100 AND 1000;
d) WHERE preco IN (100, 1000);
e) JOIN preco INNER (100, 1000);
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
c) CONTAINS LEFT(2, '2');
d) LIKE '_2%';
e) CONTAINS '_2%'
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
e) SELECT Nome, Peso
FROM Objeto
WHERE Peso BETWEEN 2 AND 18;
abaixo:
SELECT Nome
FROM T
WHERE Nome LIKE “A%S”
Um dos resultados para essa consulta é
a) avião, andes.
b) pastas, sacos.
c) astro, seca.
d) secos, abas.
e) aves, araras.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
WHERE Tipo IN SET
e) SELECT Tipo, Média (Valor)
FROM Item
21- (FCC - 2016 - TRT - 14ª Região (RO e AC) - Técnico Judiciário -
Tecnologia da Informação) Para selecionar na tabela Colaboradores de um
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
FROM Catálogo
HAVING Tipo LIKE (‘gde’, ‘médio’, ‘pequeno’)
FROM Mercadoria
WHERE Produto LIKE ('%er%')
Um possível resultado obtido a partir dessa consulta é:
a) torneira, persiana.
b) feira, celular.
c) registro, cerca.
d) prego, prendedor.
e) caderno, energia.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì
Curso: Tecnologia da Informação para ICMS-SC
Resumo + Questões comentadas
Prof. Ramon Souza
4. GABARITO
1 E 11 A 21 D
2 D 12 E 22 C
3 A 13 B 23 E
4 B 14 B
Direitos autorais reservados (Lei 9610/98). Proibida a reprodução, venda ou compartilhamento deste arquivo. Uso individual.
5 B 15 D
6 E 16 D
7 B 17 D
8 B 18 E
9 A 19 E
10 C 20 C
5. REFERÊNCIAS
ELMASRI, Ramez; NAVATHE, Shamkant B. Sistema de Banco de Dados. 6ed.
São Paulo: Pearson Addison Wesley, 2011.
SOFTBLUE. Curso SQL Completo. Disponível em:
<http://www.softblue.com.br/site/curso/id/3/CURSO+DE+SQL+COMPLETO+B
ASICO+AO+AVANCADO+ON+LINE+BD03+GRATIS>. Acesso em: 22 out.
2018.
W3SCHOOLS. SQL Tutorial. Disponível em:
<https://www.w3schools.com/sql/>. Acesso em: 19 out. 2018.
/ÊÀiÛiÊÌ
ÃÊÌVi]ÊÛÃÌ\Ê
ÜÜܰVi°VÉÕV°
Ì