Questões de Concurso
Sobre sql em banco de dados
Foram encontradas 4.036 questões
ξ CREATE TABLE ALUNOS (matricula char(5) not null primary key, nome varchar(100) not null);
ξ CREATE TABLE TURMAS (cod_turma char(5) not null primary key, periodo_turma char(5) not null);
ξ CREATE TABLE HISTORICO (matric_alu char(5) not null, cod_turma char(5) not null, nota numeric(3,1), primary key(matric_alu,cod_turma), CONSTRAINT foreign key fk_aluno (matric_alu) references ALUNOS (matricula), foreign key fk_turma (cod_turma) references TURMAS (cod_turma));
Observe as instâncias abaixo das tabelas ALUNOS e HISTORICO.

Assinale quantos registros a seguinte consulta SQL, aplicada a um banco de dados PostgreSQL11, retornará.
SELECT nome FROM ALUNOS JOIN HISTORICO ON (ALUNOS.matricula = HISTORICO.matric_alu) WHERE nota > 6 GROUPBYmatricula, nome HAVING COUNT(distinct nota) > 1;
I- A garantia de que as alterações feitas em um banco de dados sejam persistentes, mesmo em caso de falhas do sistema, como queda de energia, falha do servidor ou falha no hardware.
II- O custo de sincronizar o registro é muito menor do que o custo de descarregar as páginas de dados.
III- Requer pouco espaço de armazenamento para o log de gravação, pois não ocupa um espaço significativo em disco, mesmo para banco de dados de grande porte com alto volume de transações.
IV- O log de gravação pode ser usado para criar backups incrementais eficientes e para facilitar a replicação assíncrona de dados entre servidores.
Está CORRETO o que se afirma em:
I- SELECTCOUNT(titulo) FROM PROJETO WHERE titulo BEGIN '%X';
II- SELECTCOUNT(*) FROM PROJETO WHERE SUBSTR(titulo, -1) = 'X';
III- SELECTCOUNT(*) FROM PROJETO WHERE titulo LIKE '%X';
IV- SELECTCOUNT(titulo) FROM PROJETO WHERE SUBSTR(titulo, 0) = 'X';
O resultado desejado será observado APENAS na execução de:


SELECTavg(Cursos.orcamento)/count(*) FROM Cursos INNER JOIN Campus on Campus.sigla = Cursos.sigla_campus;

CREATE TABLE ALUNO ( matricula INTPRIMARYKEY,
nome_alu VARCHAR(300) NOTNULLUNIQUE,
tipo_cota_alu INTCHECK(tipo_cota_alu BETWEEN 1 AND 5),
renda_familiar FLOATNOTNULL,
curso INTNOTNULL);
Sobre a tabela ALUNO, foi definida uma chave primária (matricula) e dois índices secundários (nome_alu e tipo_cota_alu). O atributo tipo_cota_alu diz respeito ao tipo de cota previsto em lei para o ingresso de alunos nas universidades e institutos federais de ensino superior.
Um dos membros da equipe de desenvolvimento de sistemas solicitou ao analista de sistemas responsável pelo desenvolvimento do Sistema de Controle Acadêmico que fizesse uma revisão sobre a estrutura de tabelas do banco de dados, visando à melhoria do desempenho das consultas, alegando que um conjunto de consultas que executam sobre a tabela de ALUNO estava demorando além do normal para ser executado. O analista de sistemas examinou a execução das consultas que envolviam a tabela de ALUNO e, ao invés de propor uma solução de mudança no esquema da base de dados, propôs os seguintes aprimoramentos nas consultas "problemáticas".

Assinale a alternativa que contempla, dentre as consultas aprimoradas, o conjunto de consultas que realmente promoveu melhoria no desempenho do sistema.
Nesse sentido, dois exemplos de comandos pertencentes à DML são
CLIENTES (ID, Nome, Sobrenome)
PEDIDOS (ID, Cliente_ID, Data)
ITENS (ID, Pedido_ID, Item)
Analise o código SQLa seguir:
SELECT Clientes.Nome, Itens.Item
FROM Clientes
LEFT JOIN Pedidos ON Clientes.ID = Pedidos.Cliente_ID
LEFT JOIN Itens ON Pedidos.ID = Itens.Pedido_ID
Assinale a alternativa que apresenta CORRETAMENTE a função do código SQL.
Considere o seguinte banco de dados, contendo as tabelas tipo e alimento, para responder à questão.
Considere o seguinte banco de dados, contendo as tabelas tipo e alimento, para responder à questão.
( ) INSERT, UPDATE e DELETE são comandos da DML (Linguagem de Manipulação de Dados).
( ) CREATE, ALTER e DROP são comandos da DDL (Linguagem de Definição de Dados).
( ) SELECT é um comando da DCL (Linguagem de Controle de Dados).
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
delete from T where exists (select * from T T2 where T.A=T2.A)
Nesse contexto, é correto afirmar que
create table TT1(A int not null primary key); create table TT2(B int foreign key references TT1(A), C int not null); select * from TT1 left join TT2 on TT1.A = TT2.B;
Dado que TT1 e TT2 contêm, respectivamente, 100 e 150 linhas, assinale as expressões que apresentam, na ordem, os números mínimo e máximo de linhas que podem ser produzidas pela execução do comando SELECT, fora a linha de títulos.