SQL: Projeções, Seleções, Joins, Views Flashcards

1
Q

O que é o esquema do banco de dados?

A

É o desenho das tabelas, campos e relacionamentos entre as tabelas, essencial para construir comandos SQL de consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que indica a chave primária em uma tabela?

A

A chave primária garante que não existam dois registros com o mesmo valor para aquele campo, assegurando a unicidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é uma chave estrangeira?

A

É um campo em uma tabela que cria um relacionamento com a chave primária de outra tabela, garantindo a integridade referencial.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é uma constraint no contexto de bancos de dados?

A

É uma regra que limita os tipos de dados que podem ser inseridos em uma tabela, garantindo a integridade dos dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que significa o termo “nullable” em uma tabela?

A

Indica se um campo pode aceitar valores nulos. Se “No”, o campo deve ter um valor; se “Yes”, pode ser deixado em branco.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é um modelo relacional?

A

É uma representação gráfica das tabelas de um banco de dados e seus relacionamentos, facilitando a visualização da estrutura do banco.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que são triggers em um banco de dados?

A

São procedimentos automáticos que são executados em resposta a certos eventos em uma tabela, como inserções, atualizações ou exclusões.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual é a função do SQL Developer em relação ao banco de dados?

A

O SQL Developer é uma ferramenta que permite visualizar, gerenciar e interagir com bancos de dados, facilitando a execução de consultas e a análise de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é um índice em um banco de dados?

A

Um índice é uma estrutura que melhora a velocidade das operações de consulta em uma tabela, permitindo acesso mais rápido aos dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é a aba “Model” no SQL Developer?

A

É onde visualizamos graficamente a tabela em questão e as outras tabelas com as quais ela se relaciona, mostrando os relacionamentos entre elas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é a coluna “DATA_TYPE” em uma tabela?

A

A coluna “DATA_TYPE” indica o tipo de dado que pode ser armazenado em cada campo, como NVARCHAR2, FLOAT, DATE, entre outros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é um “modelo de dados”?

A

Um modelo de dados é uma representação abstrata da estrutura de um banco de dados, incluindo tabelas, campos e relacionamentos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Como as chaves primárias e estrangeiras ajudam na integridade dos dados?

A

As chaves primárias garantem que não haja duplicidade de registros, enquanto as chaves estrangeiras asseguram que os relacionamentos entre tabelas sejam válidos, evitando dados órfãos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qual é a sintaxe para selecionar todos os campos de uma tabela usando um alias?

A

Usamos SELECT TDC.* FROM TABELA_DE_CLIENTES TDC;.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que devemos fazer se quisermos usar espaços nos nomes dos alias?

A

Devemos colocar o nome entre aspas duplas, por exemplo: NOME AS “NOME DO CLIENTE”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Por que é importante ter cuidado com as vírgulas nas consultas SQL?

A

As vírgulas não podem se repetir lado a lado e devem sempre separar cada campo, caso contrário, um erro será gerado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Qual é a estrutura básica de uma consulta SQL para selecionar dados de uma tabela?

A

SELECT Lista de campos ou *
FROM Nome da Tabela
WHERE Filtro;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

O que faz a cláusula WHERE em uma consulta SQL?

A

A cláusula WHERE aplica um filtro, permitindo que apenas as linhas que atendem a uma condição lógica (verdadeira) sejam exibidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

O que acontece se a condição no WHERE for falsa?

A

Se a condição for falsa, a linha correspondente não será exibida no resultado da consulta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

O que significa a expressão WHERE 1=1 em uma consulta SQL?

A

Essa expressão sempre retorna verdadeiro, portanto, todas as linhas da tabela serão exibidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

O que ocorre se utilizarmos letras minúsculas em uma consulta SQL onde a condição é sensível a maiúsculas?

A

A consulta não retornará resultados, pois o SQL é case sensitive, ou seja, distingue entre letras maiúsculas e minúsculas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

O que é uma condição lógica em SQL?

A

Uma condição lógica é uma expressão que retorna verdadeiro ou falso, utilizada para filtrar resultados em uma consulta SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

O que significa “case sensitive” no contexto do SQL?

A

Significa que o SQL diferencia letras maiúsculas de minúsculas, afetando os resultados das consultas quando a capitalização não é respeitada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

O que acontece se não houver resultados para uma condição no WHERE?

A

Se não houver resultados que atendam à condição, a consulta retornará um conjunto vazio, ou seja, nenhuma linha será exibida.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
O que significa a expressão SELECT * FROM TABELA_DE_PRODUTOS WHERE 1=0;?
Essa expressão sempre retorna **falso**, portanto, nenhuma linha será exibida, resultando em um conjunto **vazio**.
26
Quais operadores podem ser usados para aplicar filtros quantitativos?
Os operadores incluem **MAIOR (>), MENOR (<), MAIOR ou IGUAL (>=), MENOR ou IGUAL (<=), DIFERENTE (<>) e ENTRE (BETWEEN).**
27
Como filtrar clientes com idade maior que 20 anos?
Utilizando o comando: **SELECT** * **FROM** TABELA_DE_CLIENTES **WHERE** IDADE **>** 20;.
28
O que faz o operador BETWEEN?
O operador BETWEEN seleciona dados que estão dentro de um **intervalo definido, incluindo os limites**. Exemplo: **SELECT** * **FROM** TABELA_DE_CLIENTES **WHERE** IDADE **BETWEEN** 19 **AND** 22;.
29
Como o Oracle trata a comparação de strings?
O Oracle compara strings respeitando a **ordem alfabética**, onde "a" é menor que "b", e assim por diante.
30
O que é uma expressão lógica primária no SQL?
É uma condição simples que retorna **verdadeiro ou falso**, como X = A, X > A, etc.
31
Como funciona o operador AND em expressões lógicas compostas?
O AND retorna verdadeiro **apenas** se **todas** as expressões lógicas primárias forem **verdadeiras**.
32
O que o operador OR faz em uma expressão lógica?
O OR retorna verdadeiro se **pelo menos uma** das expressões lógicas primárias for **verdadeira**.
33
Qual é a função do operador NOT em SQL?
O NOT **inverte** o resultado da expressão lógica. Se a expressão for verdadeira, o NOT a torna falsa e vice-versa.
34
Por que os parênteses são importantes em expressões lógicas compostas?
Eles definem a **ordem de avaliação** das expressões, especialmente em expressões mais complexas.
35
Como o SQL avalia expressões lógicas compostas?
O SQL testa **primeiro** as **expressões lógicas primárias** e depois aplica os operadores AND ou OR para obter o resultado final.
36
O que é uma expressão lógica composta?
É uma combinação de **expressões lógicas primárias intercaladas** por operadores como **AND, OR e NOT**.
37
O que significa X <> A em uma expressão lógica?
Significa que o valor de X é **diferente** de A, retornando verdadeiro se forem diferentes e falso se forem iguais.
38
Para que serve a expressão IN em uma consulta SQL?
A expressão IN permite verificar se um **valor está presente em uma lista de valores**, **simplificando** consultas com **múltiplas condições**.
39
Como podemos usar o BETWEEN em uma consulta SQL?
O BETWEEN é usado para filtrar resultados **dentro de um intervalo específico**, por exemplo, para selecionar idades entre dois valores.
40
O que faz o comando LIKE no Oracle SQL?
O comando LIKE permite realizar **buscas** por **partes do texto**, trazendo resultados que correspondem a **padrões específicos**, utilizando caracteres curinga como **%**
41
O que significa o símbolo de porcentagem % em uma consulta SQL?
O símbolo de porcentagem % é um **caractere curinga** que representa **zero** ou **mais caracteres** em uma string, permitindo buscas mais **flexíveis**.
42
Qual é a diferença entre usar SABOR = 'Limao' e SABOR LIKE '%Limao'?
SABOR = 'Limao' **busca exatamente** por produtos com o sabor "Limao", enquanto SABOR LIKE '%Limao' busca produtos que contêm "Limao" em **qualquer parte** do sabor.
43
O que faz a cláusula DISTINCT em uma consulta SQL?
A cláusula DISTINCT **elimina linhas duplicadas** nos resultados de uma consulta, mostrando apenas combinações **únicas**.
44
Qual é a sintaxe básica para usar DISTINCT em um comando SELECT?
**SELECT DISTINCT** Lista de campos **FROM** Nome da Tabela **WHERE** Filtro;
45
O que acontece se você usar SELECT sem DISTINCT em uma tabela com dados repetidos?
O resultado **mostrará todas as linhas**, incluindo as duplicadas.
46
Qual é o resultado da consulta SELECT DISTINCT CIDADE, ESTADO FROM CLIENTE; se houver várias combinações repetidas?
O resultado mostrará **apenas as combinações únicas** de CIDADE e ESTADO, eliminando as duplicatas.
47
Como a cláusula DISTINCT pode impactar o desempenho de uma consulta?
O uso de DISTINCT pode **aumentar o tempo de execução da consulta**, especialmente em tabelas muito grandes, pois o banco de dados **precisa verificar e eliminar duplicatas**.
48
O que é a coluna ROWNUM no Oracle Database?
ROWNUM é uma **coluna especial** que **fornece** um **número sequencial** para cada **linha** retornada pela consulta, começando em 1.
49
Como podemos limitar a saída de uma consulta usando ROWNUM?
Usamos a cláusula **WHERE ROWNUM** <= **VALOR** para restringir o número de linhas exibidas na consulta.
50
O que acontece se tentarmos usar ROWNUM >= 2 AND ROWNUM <= 3 em uma consulta?
O resultado será uma **tabela vazia**, pois o ROWNUM é atribuído sequencialmente e **não** **permite** essa **filtragem**.
51
Como podemos visualizar a coluna ROWNUM junto com os dados de uma tabela?
**SELECT** ROWNUM, TABELA_DE_PRODUTOS.* **FROM** TABELA_DE_PRODUTOS;
52
Por que é útil limitar a saída de uma consulta com ROWNUM?
Limitar a saída permite **visualizar** uma **amostra** dos dados, **facilitando** a **verificação** da consulta antes de **executar** com todos os registros.
53
O que é a cláusula ORDER BY em SQL?
É uma cláusula utilizada para **ordenar** a **saída** de uma consulta SQL com base em um ou mais campos.
54
O que significa ASC e DESC?
**ASC** significa **ordem ascendente** (do menor para o maior) e **DESC** significa **ordem descendente** (do maior para o menor).
55
O que são critérios compostos de ordenação?
São **múltiplos** **critérios** de **ordenação**, onde podemos ordenar por mais de um campo, como ORDER BY EMBALAGEM, NOME_DO_PRODUTO;.
56
Qual a função da cláusula GROUP BY no SQL?
**Agrupar linhas** de uma tabela com **base** em um ou mais **campos**, **permitindo** **cálculos** **agregados** em dados numéricos para cada grupo.
57
Cite cinco funções de agregação usadas com GROUP BY.
SUM, AVG, MIN, MAX, COUNT
58
Qual a diferença entre DISTINCT e GROUP BY?
**DISTINCT remove linhas duplicadas**. **GROUP BY agrupa linhas idênticas**, permitindo cálculos em valores numéricos de cada grupo.
59
Em que ordem as cláusulas WHERE, GROUP BY e ORDER BY aparecem em uma consulta SQL?
WHERE, GROUP BY, ORDER BY
60
Escreva uma consulta SQL que encontre a cidade com a maior soma de idades de clientes, considerando a tabela TABELA_DE_CLIENTES com colunas CIDADE e IDADE.
Opção 1 (usando uma subquery): **SELECT** cidade **FROM** TABELA_DE_CLIENTES **GROUP BY** cidade **HAVING** SUM(idade) = (**SELECT** **MAX**(soma_idades) **FROM** (**SELECT** cidade, **SUM**(idade) AS soma_idades **FROM** TABELA_DE_CLIENTES **GROUP BY** cidade)); Essa consulta primeiro calcula a soma das idades para cada cidade usando uma subquery interna. Em seguida, a subquery externa seleciona a cidade onde essa soma é igual ao valor máximo encontrado na subquery interna. Opção 2 (usando ORDER BY e ROWNUM): **SELECT** cidade **FROM** (**SELECT** cidade, **SUM**(idade) AS soma_idades **FROM** TABELA_DE_CLIENTES **GROUP BY** cidade **ORDER BY** soma_idades **DESC**) **WHERE** ROWNUM = 1; Essa consulta ordena as cidades pela soma das idades em ordem decrescente e, em seguida, usa ROWNUM para selecionar apenas a primeira linha (a cidade com a maior soma). Note que ROWNUM pode ter comportamentos diferentes em diferentes bancos de dados.
61
Escreva uma consulta SQL que conte quantos produtos de cada embalagem existem na tabela TABELA_DE_PRODUTOS (colunas EMBALAGEM e NOME_DO_PRODUTO), mostrando o resultado com a coluna renomeada para "Quantidade".
**SELECT** embalagem, **COUNT**(*) AS Quantidade **FROM** TABELA_DE_PRODUTOS **GROUP BY** embalagem; Essa consulta usa COUNT(*) para contar o número de produtos para cada embalagem e AS para renomear a coluna resultante para "Quantidade". O GROUP BY embalagem garante que a contagem seja feita separadamente para cada tipo de embalagem.
62
Descreva um cenário onde o uso do GROUP BY seria mais apropriado do que o uso do DISTINCT.
Quando você precisa **calcular valores agregados** (soma, média, máximo, mínimo, contagem) para **grupos** de **registros** que **compartilham** um **atributo** em comum. DISTINCT apenas remove duplicatas, sem permitir cálculos.
63
O que é a cláusula HAVING no SQL?
A cláusula HAVING é usada para **filtrar resultado**s de uma consulta que contém **agregações**, permitindo aplicar condições sobre os dados agrupados.
64
Quando devemos usar HAVING em vez de WHERE?
Devemos usar HAVING quando queremos **filtrar resultados** que envolvem **funções de agregação**, como SUM, COUNT, MAX, etc., **após** o agrupamento dos dados.
65
Qual é a sintaxe básica do HAVING?
**SELECT** colunas, AGREGACAO **FROM** tabela **GROUP BY** colunas **HAVING** condição;
66
O que acontece se tentarmos usar uma função de agregação no WHERE?
O uso de funções de agregação no WHERE **resultará em um erro**, pois o **WHERE é aplicado antes** da agregação, enquanto o HAVING é aplicado depois.
67
O que é necessário para usar a cláusula HAVING?
É necessário que a consulta tenha uma cláusula **GROUP BY**, pois o HAVING filtra os resultados após a agregação.
68
É possível usar HAVING sem incluir todos os campos do GROUP BY na condição?
Sim, você pode usar HAVING para filtrar com base em uma condição que não precisa incluir todos os campos que estão sendo agrupados.
69
O que significa a cláusula GROUP BY?
A cláusula GROUP BY é **usada para agrupar linhas que têm valores iguais em colunas especificadas**, permitindo realizar operações de agregação sobre esses grupos.
70
Qual é a diferença entre HAVING e WHERE em termos de aplicação?
WHERE **filtra registros antes da agregação**, enquanto HAVING **filtra os resultados após a agregação**, permitindo condições sobre os dados já agrupados.
71
É possível usar HAVING sem GROUP BY?
Não, a cláusula HAVING deve ser usada em conjunto com GROUP BY, pois ela é projetada para filtrar resultados de agregações.
72
O que é o comando CASE WHEN no SQL?
É uma estrutura que **permite classificar dados com base em condições específicas**, retornando diferentes resultados conforme as condições são atendidas.
73
Qual é a sintaxe básica para usar CASE WHEN?
**CASE** **WHEN** condição **THEN** resultado **ELSE** resultado_default **END**
74
Como podemos adicionar múltiplas condições no CASE WHEN?
Podemos adicionar **mais cláusulas WHEN** antes do ELSE para definir diferentes critérios de classificação.
75
Como podemos ordenar os resultados de uma consulta usando ORDER BY?
Podemos usar ORDER BY **seguido da expressão do CASE WHEN ou o alias** da classificação para ordenar os resultados.
76
O que acontece se nenhuma das condições do CASE WHEN for satisfeita?
O resultado retornará o **valor definido na cláusula ELSE**, que representa a **condição padrão** quando nenhuma das anteriores é atendida.
77
O que é uma junção (JOIN) em SQL?
Uma junção (JOIN) é um comando SQL que **combina registros de duas ou mais tabelas com base em um critério de relacionamento**, geralmente usando chaves estrangeiras.
78
Qual é a estrutura básica de um comando JOIN?
**SELECT** campos **FROM** tabela1 **INNER JOIN** tabela2 **ON** tabela1.campo_comum = tabela2.campo_comum;
79
Por que é importante usar o nome da tabela antes do campo em uma junção?
É importante para **evitar ambiguidades**, especialmente quando campos com o mesmo nome existem em tabelas diferentes.
80
Como podemos usar o comando COUNT em uma consulta?
O comando COUNT **conta o número de linhas que atendem a um critério** específico e é frequentemente usado com GROUP BY para agregar dados.
81
Qual é a diferença entre INNER JOIN e outras junções?
O **INNER JOIN retorna apenas os registros que têm correspondência em ambas as tabelas**, enquanto outras junções, como LEFT JOIN, podem retornar registros de uma tabela mesmo que não haja correspondência na outra.
82
O que é o critério de junção em uma consulta SQL?
O critério de junção é a **condição que define como as tabelas estão relacionadas**, geralmente usando a igualdade entre campos que representam a mesma informação em ambas as tabelas.
83
O que acontece se não houver correspondência entre as tabelas em um INNER JOIN?
Se não houver correspondência, **os registros que não têm correspondência em ambas as tabelas não aparecerão** no resultado da consulta.
84
O que é uma visão (view) em SQL?
Uma visão (view) é uma **tabela virtual que resulta de uma consulta SQL**. Ela **não armazena dados**, mas permite que os usuários acessem dados de uma ou mais tabelas de forma simplificada.
85
Por que é recomendado colocar a tabela menor primeiro em uma junção?
Colocar a tabela menor primeiro **pode melhorar a performance da consulta**, especialmente em bancos de dados grandes, pois reduz o número de registros que precisam ser processados.
86
INNER JOIN
Retorna registros que **têm correspondência** em **ambas as tabelas.** Exemplo: Nomes e hobbies que estão nas duas tabelas.
87
LEFT JOIN
Retorna todos os registros da **tabela da esquerda** e os **correspondentes** da tabela da direita. Registros sem correspondência na tabela da direita aparecem como NULL.
88
RIGHT JOIN
Retorna todos os registros da **tabela da direita** e os **correspondentes** da tabela da esquerda. Registros sem correspondência na tabela da esquerda aparecem como NULL.
89
FULL JOIN
Combina resultados do LEFT JOIN e RIGHT JOIN. **Retorna todos os registros de ambas as tabelas**, com NULL onde não há correspondência.
90
CROSS JOIN
**Combina todos os registros da tabela da esquerda com todos os registros da tabela da direita**. Não considera correspondências, resultando em uma análise combinatória.
91
Como podemos identificar clientes que nunca compraram usando SQL?
Podemos usar um **LEFT JOIN** entre a tabela de clientes e a tabela de notas fiscais, e aplicar um filtro WHERE com **IS NULL** para mostrar apenas os clientes sem compras registradas.
92
Como se escreve um comando SQL para contar o número total de registros em uma tabela?
Utiliza-se o comando **SELECT COUNT(*) FROM nome_da_tabela**; para contar todos os registros da tabela.
93
O que acontece se utilizarmos um INNER JOIN entre duas tabelas sem correspondência?
Se não houver correspondência entre as tabelas, o INNER JOIN **não retornará nenhum registro**, pois ele só exibe linhas que têm correspondência em ambas as tabelas.
94
Por que é importante usar aliases (apelidos) nas tabelas em consultas SQL?
Usar aliases **facilita a leitura** e a **escrita das consultas**, especialmente quando se trabalha com múltiplas tabelas, tornando o código mais claro e conciso.
95
O que significa ter um campo com valor NULL em uma consulta SQL?
Um campo com valor NULL indica que **não há dados disponíveis** ou que o valor não foi definido. Em joins, isso pode indicar que **não há correspondência** na tabela relacionada.
96
O que acontece se não houver correspondência em um LEFT JOIN?
Se não houver correspondência, os **campos** da tabela **à direita aparecerão como nulos** no resultado da consulta.
97
Quais são as regras para usar UNION?
As consultas devem ter o **mesmo número de campos**, os **tipos de campos devem ser compatíveis** e a **ordem dos campos deve ser a mesma**.
98
O que é uma subconsulta?
Uma subconsulta é uma **consulta SQL dentro de outra consulta**, que pode ser usada para filtrar resultados ou fornecer dados para a consulta externa.
99
Qual é a diferença entre IN e = em uma consulta SQL?
O IN **permite verificar se um valor está presente em um conjunto de valores**, enquanto o = verifica se um **valor é igual a um único valor.**
100
O que é um "hard code" em SQL?
"Hard code" refere-se a **valores fixos inseridos diretamente na consulta**, o que pode tornar a consulta menos flexível e mais difícil de manter.
101
Quais são as condições para uma subconsulta ser usada com o comando IN?
A subconsulta deve **retornar apenas um único campo** (uma coluna) e pode retornar múltiplas linhas.
102
Por que usar subconsultas pode ser vantajoso em vez de JOIN?
Subconsultas podem simplificar consultas complexas, permitindo que você **obtenha resultados de forma mais direta** sem precisar combinar várias tabelas, especialmente quando você não conhece bem a estrutura das tabelas.
103
O que acontece se uma subconsulta retornar mais de um campo?
Se uma subconsulta retornar mais de um campo, o comando IN **não funcionará corretamente**, pois ele espera um único campo (uma coluna) como resultado.
104
Como você pode listar todos os clientes que têm sede em bairros onde os vendedores têm escritório usando uma subconsulta?
SELECT * FROM TABELA_DE_CLIENTES WHERE BAIRRO IN (SELECT DISTINCT BAIRRO FROM TABELA_DE_VENDEDORES);
105
O que significa "dinamicamente" em relação a consultas SQL?
"Dinamicamente" refere-se à capacidade de uma consulta de se **adaptar automaticamente** a **mudanças nos dados**, como a adição de novos registros, sem a necessidade de modificar a consulta.
106
Como podemos usar subconsultas para substituir o HAVING?
Podemos usar uma subconsulta para **calcular os resultados agregados** e, em seguida, **aplicar um filtro na consulta externa**, sem precisar usar o HAVING.
107
Como se chama a tabela resultante de uma subconsulta?
A tabela resultante de uma subconsulta é frequentemente chamada de "**tabela derivada**" ou "**tabela temporária**".
108
Como as visões se comportam em relação a dados atualizados nas tabelas originais?
As **visões são dinâmicas**; se os dados nas tabelas originais forem atualizados, a visão refletirá essas mudanças automaticamente na próxima consulta.
109
Qual é a diferença entre uma visão e uma tabela?
Uma visão é uma **tabela virtual que não armazena dados**, enquanto uma tabela é um **objeto físico que armazena dados** de forma permanente no banco de dados.
110
O que acontece se você tentar atualizar dados diretamente em uma visão?
Dependendo da complexidade da visão e das regras do banco de dados, pode ser possível atualizar dados diretamente na visão, **mas em muitos casos, isso não é permitido**, especialmente se a visão envolver múltiplas tabelas ou agregações.
111
Como as visões podem ajudar na segurança dos dados?
As visões podem ser usadas para **restringir o acesso a dados sensíveis**, permitindo que os usuários vejam apenas as informações que são relevantes para eles, sem expor a tabela completa.
112
O que é uma visão materializada?
Uma visão materializada é uma **versão armazenada de uma consulta que é atualizada periodicamente**, permitindo acesso mais rápido aos dados, mas ocupando espaço físico no banco de dados.
113
Como você acessa uma visão após criá-la?
Para acessar uma visão, você utiliza uma consulta SQL normal, como **SELECT**, referenciando o nome da visão, assim como faria com uma tabela.
114
O que é uma função?
Uma função é uma **fórmula** ou **algoritmo** que recebe **parâmetros** e retorna um **único** valor baseado nesses **parâmetros**.
115
O que é um parâmetro em uma função?
Um parâmetro é um valor que **passamos para a função**, que será utilizado para calcular o resultado.
116
O que faz a função LOWER?
Converte todo o texto em **letras minúsculas**.
117
Qual é a função que transforma todo o texto em letras maiúsculas?
A função **UPPER**.
118
O que a função INITCAP realiza?
Torna a **primeira letra** de cada palavra do texto em **maiúscula**.
119
Como a função CONCAT é utilizada?
Ela **une** duas ou mais strings, como nome e sobrenome.
120
O que a função LPAD faz?
Adiciona **caracteres** à **esquerda** do texto até atingir um tamanho especificado.
121
Qual é a diferença entre LPAD e RPAD?
**LPAD** adiciona caracteres à **esquerda**, enquanto **RPAD** adiciona à **direita** do texto.
122
Para que serve a função SUBSTR?
**Extrai** um trecho de um texto maior.
123
O que a função INSTR retorna?
A **posição** de uma cadeia de caracteres dentro de um texto ou 0 se não existir.
124
O que faz a função LTRIM?
**Remove** espaços em **branco** à esquerda do texto.
125
Qual é a função que remove espaços em branco de ambos os lados do texto?
A função **TRIM**.
126
O que a função TRANSLATE faz?
**Substitui** caracteres específicos por outros caracteres.
127
Como a função REPLACE é utilizada?
**Substitui** uma cadeia de caracteres por outra em um texto.
128
O que acontece se aplicarmos a função LOWER em um texto já em minúsculas?
O texto permanecerá **inalterado**, pois já está em letras minúsculas.
129
Como podemos usar a função INITCAP para padronizar nomes em um banco de dados?
Aplicando **INITCAP** após **LOWER** para garantir que todas as iniciais sejam maiúsculas, independentemente da forma como foram digitadas.
130
O que a função RTRIM faz com um texto?
**Remove** espaços em branco à **direita** do texto.
131
Como podemos concatenar várias strings sem usar a função CONCAT?
Usando o operador de concatenação (**||**) entre as strings.
132
O que acontece se você usar a função LPAD com um tamanho menor que o comprimento da string original?
A string original será **retornada sem alterações**, pois não pode ser encurtada.
133
Como a função SUBSTR é chamada e quais são seus parâmetros?
É chamada como **SUBSTR(string, start_position, length)**, onde string é a string original, start_position é a posição inicial e length é o número de caracteres a serem extraídos.
134
O que a função INSTR retorna se a substring não for encontrada?
**Retorna 0.**
135
Como o Oracle armazena datas internamente?
Como um número, com **7 dígitos na parte inteira (ano, mês, dia)** e **6 dígitos na parte decimal (horas, minutos, segundos).**
136
O que faz a função TO_CHAR?
**Converte uma data em texto**, permitindo formatá-la de acordo com símbolos específicos.
137
Qual é a função que converte texto em data?
**TO_DATE**
138
O que a função SYSDATE retorna?
A **data e hora atuais** do sistema.
139
Como a função MONTHS_BETWEEN é utilizada?
Para calcular o **número de meses entre duas datas**.
140
Qual é a função que adiciona meses a uma data?
**ADD_MONTHS**
141
O que faz a função NEXT_DAY?
Retorna a **próxima ocorrência de um dia** da semana a partir de uma data especificada.
142
Para que serve a função LAST_DAY?
Para **devolver o último dia do mês** de uma data especificada.
143
O que a função TRUNC faz com uma data?
**Remove a parte decimal da data**, retornando apenas a data.
144
Como a função ROUND funciona em relação a datas?
**Arredonda** a **data** para o **primeiro** ou **último** dia do mês, **dependendo** se a data está **antes** ou **depois** do dia **15**.
145
O que representa o símbolo DD na formatação de datas?
O **dia** do mês.
146
Qual símbolo é usado para representar o ano com 4 dígitos?
**YYYY**
147
Como a função ADD_MONTHS lida com números negativos?
Ela pode **subtrair** **meses** da data se um número negativo for passado como parâmetro.
148
Como podemos formatar a data retornada por SYSDATE?
Utilizando a função TO_CHAR, por exemplo: **TO_CHAR(SYSDATE, 'DD/MM/YYYY HH:MI:SS')**
149
Qual é a diferença entre TRUNC e ROUND em relação a datas?
TRUNC **retorna** o **primeiro** dia do período (ano, mês), enquanto **ROUND** **arredonda** para o **início** do **próximo** período se a data estiver **após a metade** do intervalo.
150
Como calcular a idade de uma pessoa a partir da data de nascimento?
**Subtraindo** a **data de nascimento** da **data atual**(SYSDATE) e **dividindo** o resultado por **365** para obter a idade em anos.
151
O que a função ADD_MONTHS(SYSDATE, 10) retorna?
Retorna a **data** que será **10 meses após a data atual**.
152
Como podemos obter o primeiro dia do mês atual?
Usando a função **TRUNC** com o parâmetro **MONTH**, por exemplo: TRUNC(SYSDATE, 'MONTH').
152
O que faz a função ROUND?
Arredonda um número. Se a casa **decimal for maior que cinco**, arredonda para **cima**; se for **menor**, para **baixo**.
153
Como a função TRUNC se comporta?
**Arredonda** sempre para **baixo**, independentemente do valor após a casa decimal.
154
O que a função CEIL retorna?
**Arredonda** sempre para **cima**, levando o número para o próximo inteiro.
155
Qual é a diferença entre FLOOR e TRUNC?
Ambas arredondam para baixo, mas **FLOOR** **retorna** o **maior** número inteiro **menor** ou igual a **n**, enquanto **TRUNC** simplesmente **descarta** a **parte** **decimal**.
156
O que a função POWER faz?
Retorna **n2** elevado à **potência** **n1**.
157
O que a função EXP calcula?
**Retorna** **e** **elevado** à **enésima** **potência**, onde e é aproximadamente **2,718**.
158
Qual é a função da SQRT?
Retorna a **raiz quadrada de n**.
159
O que a função SIGN retorna?
**Retorna -1** se n for **negativo**, **0** se n for **nulo** e **1** se n for **positivo**.
160
O que faz a função ABS?
Retorna o **valor absoluto** de n, transformando números negativos em positivos.
161
O que a função MOD calcula?
Retorna o **resto da divisão** de n2 por n1.
162
O que a função LOG(M, N) calcula?
Retorna o **logaritmo** de base M de N.
163
Como a função SIN(n) é utilizada?
Retorna o **seno** de n, onde **n** é um **ângulo** em **radianos**.
164
O que faz a função COS(n)?
Retorna o **cosseno** de n, onde **n** é um **ângulo** em **radianos**.
165
O que a função TAN(n) retorna?
Retorna a **tangente** de n, onde **n** é um **ângulo** em **radianos**.
166
Qual é a diferença entre TRUNC e ROUND?
TRUNC **remove** a **parte** **decimal** do número, sempre arredondando para **baixo**, enquanto ROUND **arredonda** para o **inteiro** mais **próximo**.
167
O que a função CEIL retorna?
Retorna o menor inteiro maior ou igual ao número, ou seja, sempre **arredonda** para **cima**.
168
Como a função FLOOR se comporta?
Retorna o maior inteiro menor ou igual ao número, **arredondando** para **baixo**.
169
O que faz a função POWER?
Eleva um **número a uma potência**. Por exemplo, POWER(10, 4) resulta em 10.000.
170
O que faz a função TO_CHAR?
Converte uma **data** de tipo **date** para **texto**.
171
Qual é a função que converte texto para data?
**TO_DATE**, permitindo especificar o formato da data.
172
O que a função EXTRACT faz?
**Extrai** **partes** **específicas** de uma data, como ano, mês, dia, hora, etc.
173
O que a função NVL realiza?
Testa se um valor é **nulo** e, se for, **substitui** por um **valor** **definido**.
174
Como a função TO_NUMBER é utilizada?
**Converte** uma **string** em **número**, com opções de formatação para exibição.
175
Para que serve a função GREATEST?
**Retorna** o **maior** valor de uma lista de números.
176
Como usar EXTRACT para obter o mês de uma data?
**SELECT** EXTRACT(MONTH **FROM** TO_DATE('12/11/2019','DD/MM/YYYY')) **FROM** DUAL;
177
O que acontece se você usar TO_NUMBER em uma string que não pode ser convertida?
Um **erro** de **conversão** será gerado, a menos que um valor padrão seja especificado.
178
Como a cláusula ON é utilizada em um JOIN?
Define a **condição** que os **registros** precisam **atender** para serem **incluídos** no resultado da junção.