Questões de Concurso
Sobre sql em banco de dados
Foram encontradas 4.687 questões
A sintonia fina ou tuning de consultas consiste em utilizar algumas funções, organizar melhor a instrução SQL na clausula WHERE, por exemplo, para obter o melhor desempenho de uma consulta.
Com relação à sintonia fina ao utilizar um banco de dados Oracle, assinale V para a afirmativa verdadeira e F para a falsa.
( ) Quando possível, é melhor o uso do UNION ALL em vez de UNION devido ao fato de o UNION ter um processo de remoção de linhas duplicadas.
( ) Quando possível, é melhor utilizar IN em vez de EXISTS, visto que EXISTS verifica apenas que os valores existem e o IN verifica valores reais.
( ) Quando possível, é melhor utilizar EXISTS, que verifica a existência de linhas retornadas por uma subconsulta em vez de DISTINCT, que recupera todas as linhas para em seguida suprimir as duplicadas.
( ) Quando possível, é melhor utilizar variáveis BIND nas instruções SQL, uma vez que o software de banco de dados coloca as consultas SQL em cache para fazer reuso.
As afirmativas são, respectivamente,
A linguagem padrão adotada nos sistemas de bancos de dados é a Structured Query Language (SQL). Essa linguagem permite recuperar, adicionar, atualizar e excluir dados das tabelas nos bancos de dados.
Quando necessário obter dados de tabelas, instruções SQL são executadas, essas instruções são chamadas de consultas ou query. Essas consultas podem ser simples ou complexas. Quando complexas, é comum o envolvimento de muitas tabelas, funções e subconsultas.
Sendo assim, ao utilizar consultas complexas que envolvem subconsultas em um bancos de dados Oracle avalie as afirmativas a seguir:
I. As subconsultas só podem retornar uma única tupla.
II. As subconsultas podem retornar várias tuplas, ou seja, subconsultas que retornam uma ou mais tuplas.
III. As subconsultas ditas alinhadas são consultas colocadas dentro de outras subconsultas.
IV. As subconsultas ditas correlacionadas não referenciam uma ou mais colunas na instrução SQL externa.
Está correto o que se afirma em
TABELA FUNCIONARIO
Quais das expressões abaixo em linguagem SQL, são respectivamente comandos do tipo DDL e DML:
Assinale abaixo qual alternativa contém apenas um comando do tipo DDL.
CREATE TABLE tabela (ID INT);
ALTER TABLE tabela ADD COLUMN coluna;
SELECT * FROM tabela WHERE ID > 15 OR ID < 20;
Em relação a essas instruções, é correto afirmar:
O comando que criou (populou) as linhas da tabela corretamente e na ordem apresentada na tabela é
Deve-se supor a existência do esquema de banco de dados composto pelas tabelas a seguir.
DROP TABLE IF EXISTS SERVICO; CREATE TABLE SERVICO ( servico_id integer NOT NULL, nome text, tipo_id integer, PRIMARY KEY (servico_id), FOREIGN KEY (tipo_id) REFERENCES TIPOSERVICO(tipo_id));
DROP TABLE IF EXISTS TIPOSERVICO;
CREATE TABLE TIPOSERVICO ( tipo_id integer NOT NULL, nome text, area_id integer, PRIMARY KEY (tipo_id), FOREIGN KEY (area_id) REFERENCES AREANEGOCIO(area_id));
DROP TABLE IF EXISTS AREANEGOCIO; CREATE TABLE AREANEGOCIO ( area_id integer NOT NULL, nome text, PRIMARY KEY(area_id));
Com base no esquema de banco de dados fornecido, a consulta SQL que apresenta como resultado os dados necessários para a produção do gráfico apresentado é
1. Compara uma expressão a um valor de busca e retorna o resultado correspondente.
2. Se não encontrar correspondências, a função retorna um valor padrão passado como argumento, que é obrigatório.
3. Se não encontrar correspondências e não for passado um valor padrão à função, esta irá retornar nulo.
Assinale a alternativa que indica todas as afirmativas corretas.
Correntista (cid: integer, cnome: string, sexo: string, cpf: string, profissao: string, salario: numeric)
Depositante (did: integer, dnome: string, sexo: string, cpf: string, profissao: string, salario: numeric)
Beneficiario (beid: integer, benome: string, sexo: string, cpf: string, profissao: string)
Banco (bid: integer, bnome: string)
Agencia (bid: integer, aid: integer, anome: string, cidade: string)
Conta (bid: integer, aid: integer, numero: string, saldo: numeric, tipo: string, cid: integer)
Deposito (bid: integer, aid: integer, numero: string, instante: datetime, valor: numeric, cpf_depositante: string)
Saque (bid: integer, aid: integer, numero: string, instante: datetime, valor: numeric)
Cheque (bid: integer, aid: integer, numero: string, numero_cheque: string, valor: numeric, data: date, cpf_beneficiario, instante_processamento: datetime)
Alerta (bid: integer, aid: integer, numero: string)
OBS: Os campos sublinhados constituem a chave primária das relações. Um correntista pode ter diversas contas.
Seja a função a seguir:
CREATE OR REPLACE FUNCTION inserirAlerta()
RETURNS TRIGGER AS
$$
BEGIN
IF( new.valor > 50000 OR new.valor = 50000) then
INSERT INTO Alerta(bid, aid, numero) VALUES(NEW.bid, NEW.aid,
NEW.numero); RETURN NEW;
ELSE
RETURN NULL;
END IF;
END;
$$
Language 'plpgsql';
Pode-se afirmar, em relação à função dada, que:
Considere a seguinte cláusula escrita na Sintaxe ANSI SQL:
SELECT tipo, preco = AVG(preco_venda)
FROM tabela_produtos
GROUP BY tipo;
Esta cláusula
Considere a seguinte cláusula escrita na Sintaxe ANSI SQL:
SELECT DISTINCT tipo
FROM tabela_produtos
WHERE tipo LIKE ‘eletro%’;
Esta cláusula exibe o tipo de todos os registros
Considere a seguinte cláusula escrita na Sintaxe ANSI SQL
SELECT produto, valor=preco_venda-preco_custo
FROM tabela_produtos
WHERE estoque_atual>0;
Esta cláusula