Questões de Concurso sobre Linguagem SQL ANSI

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
4.431 questões encontradas
Questões por página
20
Mais recentes
 

No comando SELECT, pode-se utilizar funções de agregação (MIN, MAX, SUM, AVG, COUNT) que são aplicadas em um conjunto de tuplas. Analise as assertivas abaixo e assinale a alternativa correta.


I. Funções de agregação somente podem ser utilizadas junto com a cláusula GROUP BY.

II. As cláusulas HAVING e WHERE tem exatamente a mesma função.

III. A função AVG somente pode ser usada com campos numéricos.


A

Todas estão corretas.


B

Todas estão incorretas.


C

Apenas I está correta.


D

Apenas II está correta.


E

Apenas III está correta.

Na tabela de Curso, são armazenadas informações sobre nome, data de criação e total de alunos de um curso específico, sendo o código um campo autoincrementado com um número inteiro, todas as vezes que um curso é inserido no banco. Esse código é a chave primária desta tabela. A tabela Conceito armazena valores de conceito de curso, que só podem ser números inteiros entre 1 e 5, a data em que foram atribuídos, o código do conceito, gerado de modo análogo ao código de curso da tabela Curso, sendo a chave primária da tabela, e o código de curso a que o conceito se vincula, de modo que esse segundo código é a chave estrangeira responsável pela relação entre as tabelas Curso e Conceito. Qual das alternativas abaixo permite uma consulta em SQL cujo resultado seja uma lista apenas com os nomes de curso cujo conceito é maior ou igual a 2?


A

SELECT crs.nome, cct.conceito_curso

FROM curso as crs, conceito as cct

WHERE cct.conceito curso >= 2;


B

SELECT crs.nome, cct.conceito_curso

FROM curso as crs

INNER JOIN conceito as cct

ON crs.codigo = cct.fk codigo curso AND

cct.conceito curso > = 2;


C

SELECT crs.nome, cct.conceito_curso

FROM curso as crs

LEFT JOIN conceito as cct

ON crs.codigo = cct.fk_codigo_curso AND

cct.conceito_curso > = 2;


D

SELECT crs.nome, cct.conceito_curso

FROM curso as crs

RIGHT JOIN conceito as cct

ON crs.codigo = cct.fk_codigo_curso AND

cct.conceito_curso > = 1;


E

SELECT crs.nome, cct.conceito_curso

FROM curso as crs

WHERE crs.codigo = cct.fk_codigo_curso;

Considerando as tabelas apresentadas na Figura 2, assinale a alternativa que apresenta um comando SQL que retornará o nome de cada funcionário e o respectivo nome de seu superior.


A

SELECT F.NOME, F2.NOME

FROM FUNCIONARIO F, FUNCIONARIO F2

WHERE F.ID_FUNCIONARIO_SUPERIOR = F2.ID


B

SELECT NOME, F2.NOME

FROM FUNCIONARIO, FUNCIONARIO F2

WHERE ID = F2.ID_FUNCIONARIO_SUPERIOR


C

SELECT FUNC.NOME, SUP.NOME

FROM FUNCIONARIO FUNC, FUNCIONARIO SUP

WHERE FUNC.ID = SUP.ID


D

SELECT F1.NOME, F2.NOME

FROM FUNCIONARIO F1, F2

WHERE F.ID_FUNCIONARIO_SUPERIOR IS F2.ID


E

SELECT NOME NOME_FUNC, NOME NOME_SUP

FROM FUNCIONARIO

WHERE ID = ID_FUNCIONARIO_SUPERIOR

As permissões para acesso às estruturas e operações em um banco de dados são concedidas através do comando SQL GRANT. Considere o seguinte comando SQL:


GRANT ALL PRIVILEGES ON BUSINESS TO PEOPLE


Sobre esse comando SQL, analise as assertivas abaixo e assinale a alternativa correta.


I. PEOPLE pode ser um usuário ou uma ROLE.

II. O usuário poderá conceder seus privilégios sobre a tabela BUSINESS a outros usuários.

III. O usuário poderá fazer operações de INSERT, UPDATE ou DELETE na tabela BUSINESS.

IV. O usuário poderá criar uma TRIGGER sobre a tabela BUSINESS.


A

Todas estão corretas.


B

Todas estão incorretas.


C

Apenas II e III estão corretas.


D

Apenas III e IV estão corretas.


E

Apenas I, III e IV estão corretas.

Imagine que em um banco de dados ORACLE existe um usuário USUARIO1 e uma tabela de nome PROJETOS. Considere que o DBA emitiu o seguinte comando SQL nesse banco de dados:


GRANT ALL PRIVILEGES ON PROJETOS TO USUARIO1;


Analise as assertivas abaixo, sobre os privilégios concedidos a USUARIO1 com esse comando, assinalando V, se verdadeiras, ou F, se falsas.


( ) USUARIO1 pode remover tuplas da tabela PROJETOS.

( ) USUARIO1 pode conceder a outros usuários um ou mais privilégios recebidos sobre a tabela PROJETOS através de comandos GRANT.

( ) USUARIO1 pode definir um gatilho sobre a tabela PROJETOS.


A ordem correta de preenchimento dos parênteses, de cima para baixo, é:


A

V – V – V.


B

F – V – F.


C

V – F – F.


D

F – F – V.


E

V – F – V.

Considere a instância da tabela fibo, anteriormente apresentada, depois de um conjunto de alterações errôneas.


P

N

1

0

2

1

3

1

4

2

5

4

6

5

9

8

7

13

9

21

10

34


Considere ainda o comando SQL a seguir.


delete from fibo

where fibo.P > 2

and ( exists

(select * from fibo f

where f.P > fibo.P and f.N < fibo.N )

or

exists

(select * from fibo f

where f.P < fibo.P and f.N > fibo.N )

or

not exists

(select * from fibo f1, fibo f2

where fibo.P - 2 = f1.P

and fibo.P - 1 = f2.P

and fibo.N = f1.N + f2.N )

)


Assinale o número de linhas removidas da tabela fibo pela execução do comando acima com a presente instância.


A

0.


B

2.


C

4.


D

6.


E

8.

Considerando a tabela T da figura 1, analise a execução do comando SQL a seguir.


SELECT *

FROM T t1 LEFT JOIN T t2

ON t1.A = t2.A and t1.B = t2.B

and t1.C = t2.C


Além da linha de títulos, o número de linhas produzidas pela execução desse comando é:


A

0;


B

4;


C

10;


D

13;


E

16.

Júlia é a administradora do banco de dados da empresa KASA, onde será implantado o novo sistema estratégico da empresa, para fornecimento de relatórios gerenciais em tempo real. No sistema antigo, o perfil GERENTE permitia acesso aos dados operacionais, para que eles fossem tratados em planilhas, mas agora os relatórios serão gerados a partir de visualizações específicas, diretamente na nova ferramenta.

Para impedir o acesso aos dados operacionais e permitir o acesso às novas visualizações, Júlia utilizou, respectivamente, os comandos:


A

Drop e Create;


B

Delete e Insert;


C

Rollback e Commit;


D

Revoke e Grant;


E

Alter e Use.

Analise o script de uma stored procedure no âmbito do SQL Server.

CREATE PROCEDURE TESTE

@CPF varchar(11),

@Produdo varchar(12)

AS

SELECT count(*) Contagem

FROM VENDA

WHERE CPF = @CPF

AND CodProdudo = @Produdo;

Nesse contexto, considere as três hipóteses de comandos que invocam o procedimento armazenado TESTE.

I.

EXECUTE TESTE '99999999900', '1000999';

II.

EXEC TESTE @CPF = '99999999900',

@Produdo = '1000999';

III.

EXECUTE TESTE @CPF = '99999999900' and

@Produdo = '1000999';

Está correto o que se apresenta em:


A

somente I;


B

somente I e II;


C

somente I e III;


D

somente II e III;


E

I, II e III.

Considere a seguinte tabela de um banco de dados relacional:


Aluno (ID, Nome, Curso)


O comando SQL para obter o nome e o curso dos alunos, com a condição de que o curso se inicie com a palavra Física é:


A

SELECT Nome, Curso

FROM Aluno

WHERE Curso == 'Física%';


B

SELECT Nome, Curso

FROM Aluno

WHERE Curso.'Física%';


C

SELECT Nome, Curso

FROM Aluno

WHERE Curso LIKE 'Física%';


D

SELECT Nome, Curso

FROM Aluno

WHERE Curso('Física%');


E

SELECT Nome, Curso

FROM Aluno

WHERE Curso = 'Física%';

Marque a alternativa que contém as linguagens que são utilizadas para manipular dados e definir as estruturas de dados em um banco de dados:


A

CDL e DDL


B

DML E DDL


C

TML e DML


D

DDL e CDL


E

DML e CDL

Dentro da temática Manipulação de dados em SQL, considere o texto a seguir e responda precisamente a qual condição estamos lidando – “…são uma espécie de configuração padrão de atributos que podem ser utilizados diversas vezes na definição de campos das tabelas de dados.” Diante do exposto, assinale a alternativa correta.


A

DDLi


B

DMLi


C

Domínio


D

View

Considere a Stored Procedure abaixo, criada no banco de dados MySQL.


delimiter //

BEGIN

SELECT nomeAdv INTO nome FROM Advogado

WHERE numeroOABAdv = oab;

END//

delimiter;

CALL obterNome('28H418', @nome);

SELECT @nome AS NomeAdvogado;


Para que, ao executar esta sequência de comandos, seja exibido corretamente o nome do advogado Marcos Vieira Dias, cujo número OAB é 28H418, a lacuna I deve ser preenchida com


A

CREATE STORED PROCEDURE obterNome(CHAR(6) oab, CHAR(45) nome OUT)


B

CREATE PROCEDURE obterNome(IN oab VARCHAR(6), OUT nome VARCHAR(45))


C

CREATE PROCEDURE obterNome(VARCHAR(6) oab, VARCHAR(45) nome)


D

CREATE STORED PROCEDURE obterNome(IN oab CHAR(6), OUT nome CHAR(45))


E

CREATE PROCEDURE obterNome(String oab, String nome)

Qual das seguintes instruções SQL possivelmente contém um erro?


A

SELECT produto_id WHERE produto_id = 2010 AND Nome = 'SILVA';


B

SELECT * FROM produtos WHERE produto_id = 2003;


C

SELECT produto_id FROM produtos WHERE produto_id = 2006;


D

SELECT produto_id FROM produtos;


E

SELECT produto_id, preco FROM produtos;

No PostgreSQL 12, o pg_restore é um utilitário para restaurar um banco de dados de um arquivo criado pelo pg_dump. Assinale a opção que apresenta o argumento que deve ser inserido, ao fazer uso desse utilitário via linha de comando, para criar o banco de dados de destino, caso ele não exista, antes de restaurar nele.


A

--data-only


B

--create


C

--schema


D

--format


E

--index

Analise o trecho de código a seguir, escrito em SQL:

1 ALTER TABLE cliente

2 DROP CONSTRAINT pk_cliente;

3 ALTER TABLE cliente

4 DROP CONSTRAINT unique_email;

5 ALTER TABLE cliente

6 ALTER email SET NOT NULL;

7 ALTER TABLE cliente

8 ADD CONSTRAINT pk_cliente

9 PRIMARY KEY (email);

10 ALTER TABLE cliente

11 ADD CONSTRAINT unique_codigo_cliente

12 UNIQUE (codigo_cliente)

No código acima, são mostrados os comandos necessários para:


A

Alterar a coluna e-mail para opcional e a coluna codigo_cliente para obrigatória.


B

Excluir as colunas codigo_cliente e e-mail da tabela cliente.


C

Excluir, respectivamente, as restrições de chave estrangeira da coluna codigo_cliente e de chave primária da coluna e-mail.


D

Alterar as chaves da tabela cliente, fazendo com que a coluna e-mail passe a ser a chave primária e a coluna codigo_cliente passe a ser uma chave alternativa.


E

Definir a coluna e-mail como chave alternativa e excluir a coluna codigo_cliente.

Considere a execução dos seguintes comandos em SQL:

CREATE TABLE vendas (

id INT UNSIGNED NOT NULL

AUTO_INCREMENT PRIMARY KEY,

dat_venda DATETIME NOT NULL

DEFAULT CURRENT_TIMESTAMP,

vendedor VARCHAR(15) NOT NULL,

cliente VARCHAR(15) NOT NULL,

uf CHAR(2) NOT NULL DEFAULT 'RJ',

produto VARCHAR(15) NOT NULL

DEFAULT 'PROD1',

qtde INT NOT NULL,

valor_unitario FLOAT DEFAULT NULL);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-01', 'VEND001',

'CLI001', 'SP', 'PROD3', 2, 20);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-02', 'VEND001',

'CLI001', 'SP', 'PROD3', 3, 20);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-01', 'VEND002',

'CLI002', 'RJ', 'PROD1', 20, 5);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-05', 'VEND001',

'CLI001', 'SC', 'PROD3', 2, 20);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-06', 'VEND002',

'CLI002', 'MG', 'PROD2', 5, 10);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-05', 'VEND003',

'CLI004', 'RJ', 'PROD3', 2, 20);

INSERT INTO vendas (

dat_venda, vendedor, cliente, uf, produto, qtde,

valor_unitario) VALUES ('2023-01-04', 'VEND003',

'CLI003', 'SC', 'PROD4', 10, 3);

SELECT V1.vendedor, V1.uf, COUNT(*) AS qtde_vendas,

SUM(V1.qtde*V1.valor_unitario) AS total_venda,

V2.media_venda

FROM vendas V1

INNER JOIN

(SELECT vendedor,

AVG(qtde* valor_unitario) AS media_venda

FROM vendas

GROUP BY vendedor

) V2

ON V2.vendedor = V1.vendedor

WHERE V1.dat_venda

BETWEEN '2023-01-01' AND '2023-01-04'

GROUP BY V1.vendedor, V1.uf

HAVING SUM(V1.qtde*V1.valor_unitario) > V2.media_venda

ORDER BY V1.vendedor;

Após a execução dos comandos apresentados, a quantidade de linhas que a consulta irá retornar é:


A

2;


B

3;


C

4;


D

6;


E

7.

Os SGBDs (Sistemas de Gerenciamento de Banco de Dados) ou DBMSs (Database Management Systems) são ferramentas fundamentais para o armazenamento, organização e recuperação eficiente de informações em aplicações de software. O primeiro passo é especificar esquemas conceituais e internos para o banco de dados e quaisquer mapeamentos entre os dois. Quando nenhuma separação estrita de níveis é mantida, uma linguagem é usada pelo DBA e pelos projetistas de banco de dados para definir ambos os esquemas. A linguagem mencionada é a Linguagem de:


A

definição de dados (DDL).


B

definição de visualização (VDL).


C

consulta estruturada (SQL).


D

manipulação de dados (DML).


E

definição de armazenamento (SDL).

   
Gerar simulado