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
 

A consulta SQL, criada para executar em um ambiente PostgreSQL, versão 15, que retorna o id e o total gasto dos 5 clientes da Locadora que mais gastaram com aluguel de filmes, está corretamente apresentada em


A

select Cliente.id, sum(Filme.valor) as total_gasto

from Aluguel

inner join AluguelFilme ON AluguelFilme.aluguel_id = Aluguel.id

inner join Filme ON Filme.id = AluguelFilme.filme_id

inner join Cliente ON Aluguel.cliente_id = Cliente.id

group by Cliente.id

order by sum(Filme.valor) desc

limit 5


B

select Cliente.id, sum(Filme.valor) as total_gasto

from Aluguel

inner join AluguelFilme ON AluguelFilme.aluguel_id = Aluguel.id

inner join Filme ON Filme.id = AluguelFilme.filme_id

inner join Cliente ON Aluguel.cliente_id = Cliente.id

group by Cliente.id

order by sum(Filme.valor) asc

limit 5


C

select Cliente.id, sum(Filme.valor) as total_gasto

from Aluguel

inner join AluguelFilme ON AluguelFilme.aluguel_id = Aluguel.id

inner join Filme ON Filme.id = AluguelFilme.filme_id

inner join Cliente ON Aluguel.cliente_id = Cliente.id

group by Cliente.id

order by sum(Filme.valor) desc

top 5


D

select Cliente.id, max(Filme.valor) as total_gasto

from Aluguel

inner join AluguelFilme ON AluguelFilme.aluguel_id = Aluguel.id

inner join Filme ON Filme.id = AluguelFilme.filme_id

inner join Cliente ON Aluguel.cliente_id = Cliente.id

group by Cliente.id

order by max(Filme.valor) asc

limit 5

No contexto da administração de dados em PostgreSQL, qual é o comando SQL básico para criar uma nova tabela?


A

CREATE DATABASE tablename;


B

CREATE TABLE tablename;


C

ADD TABLE tablename;


D

INSERT TABLE tablename;


E

CREATE SCHEMA tablename;

Considere que você está conectado a um banco de dados existente em um SGDB PostgreSQL versão 15.1, como um usuário com permissões para criar tabelas no banco de dados. Qual é o resultado obtido após a execução do seguinte comando?


Imagem associada para resolução da questão



A

Apresentação de uma mensagem de erro com a indicação da localização em -- low temperature.


B

A criação da tabela weather com todas as colunas e tipos especificados no comando.


C

A criação da tabela weather com somente as colunas city e date.


D

Apresentação de uma mensagem de advertência e a criação da tabela weather com somente as colunas city e date.


E

Apresentação de uma mensagem de erro e a desconexão do usuário.

A linguagem SQL (Structured Query Language) é uma linguagem de pesquisa para banco de dados relacionais, aceita pela maioria dos produtos existentes no mercado. A SQL foi desenvolvida na IBM Research no início da década de 1970. Em relação aos comandos da linguagem SQL, a linha de código abaixo é utilizada para:


TRUNCATE TABLE Vendas;


A

atualizar todos os dados da tabela Vendas.


B

excluir todos os dados da tabela Vendas.


C

criar uma nova tabela denominada Vendas.


D

selecionar todos os dados da tabela Vendas.


E

ordenar todos os dados da tabela Vendas.

Comandos expressos em linguagem de definição de dados (DDL) são utilizados para criar estruturas de um banco de dados, e o seu processamento irá incluir ou alterar metadados desse mesmo banco de dados.


C

Certo


E

Errado

Uma transação SQL executa operações que modificam o banco de dados. O comportamento da transação é determinado por princípios de correção da aplicação e do banco de dados, além de configurações que determinam o modo de acesso, área de diagnóstico e nível de isolamento. No SQL, o nível de isolamento é definido no comando SET TRANSACTION e pode ser: serializable, repeatable read, read committed e read uncommitted. Analise as assertivas abaixo:


I. A opção default do SET TRANSACTION, para o nível de isolamento, é READ COMMITED, que garante que a transação não lerá dados de transações que não foram finalizadas.

II. Ao definir o nível de isolamento como REPEATABLE READ, a transação será executada em completo isolamento, portanto não lerá dados de transações que não foram finalizadas com sucesso e, somente depois que ela terminar com sucesso, os dados que está alterando poderão ser acessados por outras transações.

III. A opção READ UNCOMMITED permite que a transação leia dados de transações ativas que ainda não foram efetivados.


Quais estão corretas?


A

Apenas I.


B

Apenas II.


C

Apenas III.


D

Apenas I e II.


E

Apenas II e III.

As restrições de integridade garantem que as mudanças feitas no banco de dados, por usuários autorizados, não resultem em uma perda da consistência dos dados. Nesse contexto, considere os seguintes comandos SQL:


CREATE TABLE CIDADE(

idCidade number(4) PRIMARY KEY,

nome varchar2(50) NOT NULL

)


CREATE TABLE PESSOA(

idPessoa number(5) PRIMARY KEY,

nome varchar2(50) NOT NULL,

idCidade number(4) REFERENCES CIDADE(idCidade)

)


Analise as assertivas abaixo e assinale a alternativa correta.


I. As tabelas CIDADE e PESSOA terão a identificação de cada uma de suas tuplas por um valor único, garantida pela restrição de integridade de identidade, verificada pelo SGBD a cada operação de inclusão ou alteração de tuplas.

II. O campo PESSOA.idCidade tem preenchimento obrigatório para cumprir com a regra da integridade referencial.

III. Quando uma tupla da tabela CIDADE for excluída, não é realizada verificação de integridade referencial, pois essa tabela não possui chave estrangeira.

IV. O campo PESSOA.nome não pode ficar vazio quando é feita a inclusão ou alteração de uma tupla na tabela PESSOA.


A

Todas estão corretas.


B

Todas estão incorretas.


C

Apenas I e IV estão corretas.


D

Apenas II e III estão corretas.


E

Apenas III e IV estão corretas.

Na linguagem SQL, qual operador pode ser utilizado para combinar o conjunto de resultados de duas ou mais instruções SELECT, permitindo valores duplicados?


A

UNION ALL


B

GROUP BY


C

ANY


D

FULL JOIN


E

DISTINCT

Qual o resultado correto ao executar o comando SQL abaixo?

SELECT ALUNO.Matricula, ALUNO.Nome, CURSO.Nome AS Curso, SUM(DISCIPLINA.Carga_horaria) AS "Total de horas"

FROM ALUNO, ALUNO_CURSA, DISCIPLINA, CURSO

WHERE ALUNO.Matricula = ALUNO_CURSA.Cod_aluno

AND ALUNO_CURSA.Cod_disciplina = DISCIPLINA.Codigo

AND DISCIPLINA.Cod_curso = CURSO.Codigo

GROUP BY ALUNO.Matricula, CURSO.Nome

ORDER BY ALUNO.Nome;


A

Matricula

Nome

Curso

Total de horas

1001

Carolina Souza

Ciência da Computação

380

1002

Jorge Andrade

Ciência da Computação

180

1003

Cassio Gomes

Análise de Sistemas

240


B

Matricula

Nome

Curso

Total de horas

1001

Carolina Souza

Ciência da Computação

560

1003

Cassio Gomes

Análise de Sistemas

240


C

ALUNO.Matricula

ALUNO.Nome

Curso.Nome

Total de horas

1001

Carolina Souza

Ciência da Computação

380

1003

Cassio Gomes

Análise de Sistemas

240

1002

Jorge Andrade

Ciência da Computação

180


D

Matricula

Nome

Curso

Total de horas

1001

Carolina Souza

Ciência da Computação

200

1001

Carolina Souza

Ciência da Computação

180

1003

Cassio Gomes

Análise de Sistemas

240

1002

Jorge Andrade

Ciência da Computação

180


E

Matricula

Nome

Curso

Total de horas

1001

Carolina Souza

Ciência da Computação

380

1003

Cassio Gomes

Análise de Sistemas

240

1002

Jorge Andrade

Ciência da Computação

180

Considere a execução do seguinte script SQL, criado para executar em um ambiente PostgreSQL, versão 15, para responder à Questão 28.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

CREATE TABLE Titulacao (

id SERIAL PRIMARY KEY,

nome VARCHAR (50) NOT NULL

);

CREATE TABLE Funcionario (

id SERIAL PRIMARY KEY,

nome VARCHAR (255) NOT NULL,

titulacao_id INTEGER NOT NULL,

salario DECIMAL(10,2) NOT NULL,

FOREIGN KEY (titulação_id) REFERENCES Titulacao (id)

ON DELETE CASCADE ON UPDATE CASCADE

);

INSERT INTO Titulacao (id, nome)

VALUES

(1, 'Especialização'),

(2, 'Mestrado'),

(3, 'Doutorado');

INSERT INTO Funcionario (nome, titulacao_id, salario)

VALUES

('João Silva’, 1, 3000.00),

('Maria Santos', 2, 5500.00),

('Pedro Oliveira’, 3, 7500.0600),

('Luciana Pereira’, 2, 5500.0060),

('Felipe Souza', 1, 3000.00);

delete from Titulacao where nome ilike 'Mestrado’

Ao finalizar a execução do script acima


A

ocorre erro de violação de chave estrangeira, na linha 29, e o registro não é excluído.


B

o registro da tabela “Titulacao” é excluído e a chave estrangeira “titulacao_id” na tabela “Funcionario” receberá o valor nulo.


C

o registro da tabela “Titulacao” é excluído, e a chave estrangeira “titulacao_id”, na tabela “Funcionario”, receberá o id da última “Titulacao” criada.


D

o registro da tabela “Titulacao” é excluído, e todos os registros da tabela “Funcionario” vinculados à “Titulacao” excluída também serão excluídos.

Em ORACLE (versão de referência: 9i), temos dois tipos de cursores (implícito e explícito). Para ambos os tipos há quatro atributos que podem ser utilizados em código pl/sql, que são:


A

sql%rowcount • sql%found • sql%notfound • sql%isopen


B

sql%countline • sql%find • sql%notfound • sql%isopen


C

sql%rowcount • sql%find • sql%notopen • sql%isopen


D

sql%rowcount • sql%found • sql%clear • sql%open


E

sql%count • sql%found • sql%is • sql%open

A linha em SQL, que deverá ser executada somente para exibir os nomes das pessoas matriculadas no Campus de Capanema, é:


A

SELECT * FROM ALUNO WHERE CAMPUS='CAPANEMA' AND CURSANDO=1.


B

SELECT NOME FROM ALUNO WHERE CAMPUS='CAPANEMA' & CURSANDO=1.


C

SELECT * FROM ALUNO WHERE CAMPUS='CAPANEMA' & CURSANDO=1.


D

SELECT * FROM ALUNO WHERE CAMPUS='CAPANEMA' | CURSANDO=1.


E

SELECT NOME FROM ALUNO WHERE CAMPUS='CAPANEMA' AND CURSANDO=1.

No PostgreSQL 14, as funções de controle de recuperação fornecem informações sobre o status atual de um servidor em espera e podem ser executadas tanto durante a recuperação quanto durante o funcionamento normal. É uma função de controle de recuperação:


A

pg_current_wal_flush_lsn ().


B

pg_last_wal_receive_lsn ().


C

pg_reload_conf ().


D

pg_export_snapshot ().


E

pg_is_in_recovery.extension ().

No SQL o comando para selecionar de uma tabela pessoa os 10 primeiros indivíduos com nome e idade igual ou superior a 18, ordenados pelo nome é:


A

SELECT nome, idade FROM pessoa WHERE idade >= 18 ORDER BY nome LIMIT 10;


B

SELECT pessoa FROM nome WHERE idade >= 18 ORDER nome LIMIT 10;


C

SELECT nome, idade INTO pessoa WHERE idade >= 18 ORDER BY nome LIMIT “10”;


D

SELECT nome, idade INTO pessoa WHERE idade >= 18 ORDER nome LIMIT 10;


E

SELECT pessoa, nome, idade WHERE idade >= 18 ORDER BY nome LIMIT “10”;

Considere a seguinte tabela de um banco de dados relacional:


Cliente (CPF, Nome, Peso)


O comando para excluir os clientes de peso superior a 80 kg é (supondo o atributo peso expresso em kg) é:


A

DELETE Peso.Cliente > 80;


B

DELETE Cliente.Peso > 80;


C

DELETE FROM Cliente

WHERE Peso > 80;


D

DELETE Peso > 80

FROM Cliente;


E

DELETE FROM Cliente

WHERE Peso INF 80;

Considere a execução do seguinte comando SQL, criado para executar em um ambiente PostgreSQL, versão 15.


1

2

3

4

5

6

7

8

9

10

11

update Filme set valor = valor * 1.2

from (

select Filme.id

from Filme

inner join Genero on Genero.id = Filme.genero_id

where not exists (

select * from AluguelFilme where AluguelFilme.filme_id = Filme.id

)

and Genero.nome = 'Drama'

) as sub_consulta

where Filme.id = sub_consulta.id


Com base nessa execução, é correto afirmar:


A

ao executar a expressão é retornado um erro de sintaxe na linha 6.


B

ao executar a expressão é retornado um erro na linha 11, informando que a tabela sub_consulta não existe fisicamente.


C

a expressão atualiza a tabela Filme, aumentando o valor dos filmes do gênero Drama que nunca foram alugados, em 20%.


D

a expressão atualiza a tabela Filme, aumentando o valor dos filmes do gênero Drama que não existem na tabela Aluguel, em 20%.

Na DDL, que é uma linguagem declarativa, é descrito o que se deseja fazer, em vez de como fazê-lo, como comandos para definir tabelas e procedures, tal qual exemplificado a seguir.


CREATE TABLE <tablename> (col1 int, col2 int, col3 int)


C

Certo


E

Errado

PL/SQL é uma linguagem estruturada em blocos, elemento fundamental para se escrever um código.


Em PL/SQL, um bloco é delimitado pelas palavras reservadas:


A

BEGIN END;


B

START STOP;


C

OPEN CLOSE;


D

LOOP END LOOP;


E

DECLARE EXCEPTION.

Considere o seguinte trecho de código escrito em SQL:


create table Concurso (

ID integer not null primary key,

Nome_Concurso varchar(20)

);


Considerando as informações apresentadas, assinale a alternativa correta.


A

A tabela criada possui três atributos.


B

O comando utilizado para a criação de tabela pertence ao grupo de comandos de manipulação de dados.


C

O termo primary key está relacionado com o tipo de dado “ID” e indica que o campo deve ser preenchido.


D

Varchar(20) se refere a um tipo de dado Caractere de tamanho variável com até 20 caracteres.


E

Os termos integer not indicam que o campo pode receber números inteiros e não inteiros.

NVL e NVL2 são funções que ORACLE disponibiliza para serem utilizadas nas consultas. Analise as assertivas abaixo e assinale a alternativa correta.


I. NVL2(E1,E2) especifica que se E1 for nulo, a função retornará E2, caso contrário, retornará E1.

II. NVL(E1,E2,E3) especifica que se E1 for nulo, a função retornará E3, caso contrário, retornará E2.

III. NVL e NVL2 são usadas quando o valor de um campo de uma tupla pode retornar NULL.


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.

   
Gerar simulado