Alias, Filtros e Select Flashcards

(145 cards)

1
Q

Para que servem os alias (apelidos) em SQL?

A

Para atribuir nomes temporários a colunas ou tabelas, facilitando a leitura e simplificando referências em consultas.

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

Qual a sintaxe básica para dar alias a uma coluna?

A

SELECT coluna_original AS alias
FROM tabela;

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

O AS é obrigatório ao definir um alias de coluna?

A

Não. Pode ser omitido: SELECT coluna_original alias FROM tabela;.

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

Como dar alias a uma tabela em uma consulta?

A

SELECT t.coluna
FROM tabela_original t; – t é o alias

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

Por que usar alias de tabela em JOINs?

A

Torna a consulta mais curta e clara, principalmente quando há várias tabelas ou nomes longos.

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

Como atribuir um alias que contém espaços ou caracteres especiais?

A

Coloque o alias entre aspas duplas:

SELECT coluna AS “Total Vendas”
FROM vendas;

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

Podemos referenciar o alias de coluna na cláusula WHERE?

A

Não diretamente. Use o nome real da coluna ou coloque a lógica em uma subquery ou WITH.

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

O alias de coluna pode ser usado em ORDER BY?

A

Sim. Exemplo:

SELECT preco * quantidade AS total
FROM itens
ORDER BY total DESC;

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

Existe impacto permanente no banco ao usar alias?

A

Não. Alias são temporários e válidos apenas durante a execução da consulta.

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

Qual cláusula é usada para filtrar linhas em uma consulta SQL?

A

WHERE

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

Como combinar dois filtros que ambos devem ser verdadeiros?

A

Usando o operador lógico AND.

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

Qual operador lógico retorna linhas quando pelo menos um filtro é verdadeiro?

A

OR

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

Qual palavra chave nega uma condição em um filtro?

A

NOT
WHERE NOT status = ‘INATIVO’

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

Como filtrar linhas dentro de um intervalo numérico ou de datas?

A

Usando BETWEEN … AND …
Ex.: WHERE salario BETWEEN 3000 AND 5000

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

Como testar se uma coluna pertence a uma lista de valores específicos?

A

Usando IN (valor1, valor2, …)
Ex.: WHERE estado IN (‘SP’, ‘RJ’, ‘MG’)

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

Qual operador usa curingas (%) para combinar padrões de texto?

A

LIKE
Ex.: WHERE nome LIKE ‘Mar%’

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

Como filtrar valores nulos em uma coluna?

A

Para selecionar nulos: WHERE coluna IS NULL

Para excluir nulos: WHERE coluna IS NOT NULL

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

Como comparar valores de duas colunas da mesma linha?

A

Usando WHERE coluna1 = coluna2

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

Como aplicar filtros após agregações (GROUP BY) ?

A

Usando a cláusula HAVING

Ex: HAVING COUNT(*) > 10

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

O que faz o alias no WHERE?

A

Nada. Aliases de coluna não são reconhecidos em WHERE; use o nome real ou subqueries/CTE.

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

Como limitar linhas retornadas a partir de uma posição específica (Oracle 12c+) ?

A

OFFSET … ROWS FETCH NEXT … ROWS ONLY

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

Qual é a ordem de precedência entre AND e OR em filtros?

A

AND é avaliado antes de OR. Use parênteses para controlar a lógica.

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

Como selecionar linhas com valor exatamente igual a um número?

A

WHERE coluna = valor
WHERE idade = 30

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

Como selecionar valores maiores que um número?

A

WHERE coluna > valor
WHERE preco > 100

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Como selecionar valores menores que ou iguais a um número?
WHERE coluna <= valor WHERE idade <= 18
26
Como selecionar valores entre dois números (inclusive)?
WHERE coluna BETWEEN x AND y WHERE salario BETWEEN 3000 AND 5000
27
Como selecionar linhas com valor fora de um intervalo numérico?
WHERE coluna NOT BETWEEN x AND y WHERE quantidade NOT BETWEEN 10 AND 100
28
Como verificar se um número está em uma lista de valores específicos?
WHERE coluna IN (val1, val2, val3) WHERE nota IN (8, 9, 10)
29
Como filtrar dados que não estão em uma lista de números?
WHERE coluna NOT IN (val1, val2, val3) WHERE ano NOT IN (2020, 2021)
30
Como aplicar múltiplos filtros numéricos?
Usando AND, OR e parênteses WHERE salario > 3000 AND idade < 40
31
Como usar operadores aritméticos para filtrar dados?
Pode-se aplicar cálculos diretamente na condição: Ex.: WHERE (preco * quantidade) > 1000
32
Como considerar resultados de arredondamento ou casas decimais?
Use funções como ROUND, TRUNC, FLOOR, CEIL Ex.: WHERE ROUND(valor_total, 0) = 100
33
Como buscar valores que comecem com uma palavra?
WHERE coluna LIKE 'palavra%' Ex.: WHERE nome LIKE 'Ana%'
34
Como buscar valores que terminem com uma palavra?
WHERE coluna LIKE '%palavra' Ex.: WHERE email LIKE '%@gmail.com'
35
Como buscar valores que contenham uma palavra ou parte dela?
WHERE coluna LIKE '%palavra%' Ex.: WHERE descricao LIKE '%desconto%'
36
O que o caractere % representa no operador LIKE?
Qualquer sequência de caracteres (inclusive nenhuma)
37
O que o caractere _ representa no operador LIKE?
Exatamente um único caractere qualquer Ex.: WHERE nome LIKE 'Jo_o' retorna João, Jono etc.
38
Como buscar registros que não contenham uma palavra?
WHERE coluna NOT LIKE '%palavra%' Ex.: WHERE produto NOT LIKE '%alcoólico%'
39
Como fazer busca sem considerar maiúsculas e minúsculas?
Usando UPPER() ou LOWER() Ex.: WHERE UPPER(nome) = 'MARIA'
40
Como combinar filtros de texto com OR e AND?
WHERE nome LIKE 'A%' AND cidade = 'Recife' Ex.: combina mais de uma condição textual
41
Como filtrar por valores nulos ou vazios em colunas de texto?
WHERE coluna IS NULL ou WHERE coluna IS NOT NULL
42
Surgiu uma demanda para listar vendedores que têm comissões menores que 0,17. Como poderia ser esse comando SQL? (Tabela: TB_VENDEDRES e coluna PERCENTUAL_COMISSAO)
SELECT * FROM TB_VENDEDORES WHERE PERCENTUAL_COMISSAO < 0.17;
43
Como comparar datas iguais em Oracle SQL?
WHERE data_evento = TO_DATE('25/06/2025', 'DD/MM/YYYY')
44
Como filtrar datas anteriores a uma data específica?
WHERE data_compra < TO_DATE('01/01/2024', 'DD/MM/YYYY')
45
Como filtrar datas posteriores a uma data específica?
WHERE data_pedido > TO_DATE('31/12/2023', 'DD/MM/YYYY')
46
Como filtrar um intervalo de datas entre duas datas específicas?
WHERE data_pagamento BETWEEN TO_DATE('01/01/2024','DD/MM/YYYY') AND TO_DATE('31/01/2024','DD/MM/YYYY')
47
Qual função converte texto em data no Oracle?
TO_DATE('texto', 'formato') Ex.: TO_DATE('15-06-2025','DD-MM-YYYY')
48
Como extrair apenas o ano de uma data para aplicar filtro?
EXTRACT(YEAR FROM data_coluna) Ex.: WHERE EXTRACT(YEAR FROM data_nascimento) = 1994
49
Como comparar apenas o dia e mês de uma data (ignorando o ano)?
WHERE TO_CHAR(data_nasc, 'DD-MM') = '25-06'
50
Como buscar datas onde o mês seja dezembro?
WHERE EXTRACT(MONTH FROM data_coluna) = 12
51
Como verificar se uma data é nula?
WHERE data_saida IS NULL
52
Qual comando filtra registros com data no ano atual?
WHERE EXTRACT(YEAR FROM data_criacao) = EXTRACT(YEAR FROM SYSDATE)
53
Como usar AND e OR juntos em uma cláusula WHERE?
Utilize parênteses para definir a prioridade: WHERE estado = 'SP' AND (cidade = 'São Paulo' OR cidade = 'Campinas')
54
Como filtrar clientes do estado de SP que não sejam da cidade de Santos?
WHERE estado = 'SP' AND cidade != 'Santos'
55
Como filtrar clientes que já compraram e possuem limite de crédito acima de 1000?
WHERE primeira_compra = 1 AND limite_credito > 1000
56
Como selecionar clientes que não são do RJ ou que não compraram ainda?
WHERE estado != 'RJ' OR primeira_compra = 0
57
O que acontece se não usamos parênteses em filtros compostos com AND e OR?
Pode gerar resultados incorretos por causa da precedência dos operadores. Sempre use parênteses para garantir a lógica correta.
58
Quais os vendedores que possuem comissões maiores que 0,19 ou menores que 0,15?
SELECT * FROM TB_VENDEDORES WHERE PERCENTUAL_COMISSAO <0.15 OR PERCENTUAL_COMISSAO >0.19;
59
Há limite de tamanho para alias no Oracle?
Sim. Alias (como identificadores) não podem exceder 30 caracteres.
60
Como fazer para selecionar todos os campos de um tabela com Alias?
SELECT TDC.* FROM TABELA_DE_CLIENTES TDC;
61
Qual a finalidade principal do comando SELECT?
Consultar e retornar dados de uma ou mais tabelas ou visões.
62
Qual é a sintaxe mínima de um SELECT simples?
SELECT lista_de_colunas FROM nome_da_tabela;
63
Para que serve o DISTINCT em uma consulta?
Elimina linhas duplicadas do resultado. SELECT DISTINCT cidade FROM clientes;
64
Como agrupar linhas para usar funções de agregação?
Usando GROUP BY: SELECT departamento, AVG(salario) FROM funcionarios GROUP BY departamento;
65
Qual cláusula ordena o resultado de um SELECT?
ORDER BY: SELECT nome, salario FROM funcionarios ORDER BY salario DESC;
66
Como filtrar resultados em um SELECT?
Usando a cláusula WHERE: SELECT * FROM pedidos WHERE total > 1000;
67
Qual cláusula filtra após a agregação?
HAVING: SELECT departamento, COUNT(*) FROM funcionarios GROUP BY departamento HAVING COUNT(*) > 10;
68
Como limitar linhas retornadas (Oracle 12c+)—paginação?
SELECT * FROM vendas ORDER BY data_venda OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;
69
Como usar subconsulta em um SELECT?
SELECT nome FROM clientes WHERE id IN (SELECT cliente_id FROM pedidos WHERE total > 500);
70
Como juntar dados de duas tabelas?
Usando JOIN: SELECT c.nome, p.total FROM clientes c JOIN pedidos p ON p.cliente_id = c.id;
71
Qual função retorna a data/hora atual no Oracle?
SYSDATE SELECT SYSDATE FROM dual;
72
O que faz a tabela especial DUAL?
Tabela de uma linha usada para selecionar expressões/literais sem precisar de outra tabela.
73
Veja a tabela abaixo, chamada CADASTRO: Quero listar somente o nome e a idade das pessoas do cadastro.
SELECT NOME, IDADE FROM CADASTRO
74
Qual filtro em uma cláusula WHERE sempre resulta em uma condição verdadeira?
WHERE 1 = 1 Esse filtro é sempre verdadeiro e é frequentemente usado como base para construir consultas dinamicamente, permitindo que outras condições sejam adicionadas com AND.
75
Quero listar somente o nome e a idade das pessoas do cadastro que estejam morando em MANAUS.
SELECT NOME, IDADE FROM CADASTRO WHERE CIDADE = 'MANAUS'
76
Qual operador lógico é usado para comparar se um valor é maior que outro em SQL?
> -- Exemplo: SELECT * FROM produtos WHERE preco > 100;
77
Qual operador lógico é usado para comparar se um valor é menor que outro em SQL?
< -- Exemplo: SELECT * FROM produtos WHERE preco < 50;
78
Como comparar se um valor é maior ou igual a outro em SQL?
>= -- Exemplo: SELECT * FROM vendas WHERE quantidade >= 10;
79
Como comparar se um valor é menor ou igual a outro em SQL?
<= -- Exemplo: SELECT * FROM alunos WHERE nota <= 7.5;
80
Qual operador representa a comparação de diferente de em SQL?
<> -- Exemplo: SELECT * FROM clientes WHERE estado <> 'SP';
81
Como selecionar registros com valores entre dois limites (inclusive) em SQL?
BETWEEN valor1 AND valor2 -- Exemplo: SELECT * FROM pedidos WHERE valor_total BETWEEN 100 AND 500;
82
Faça um select na tabela CLIENTE onde apareça apenas os clientes com mais de 21 funcionarios
SELECT * FROM CLIENTE WHERE NUM_FUNC > 21;
83
Veja a tabela abaixo, chamada CADASTRO: Quero listar somente o nome e a idade das pessoas do cadastro que tenham mais de 25 anos.
SELECT NOME, IDADE FROM CADASTRO WHERE IDADE > 25
84
O que é uma expressão lógica simples em SQL?
É uma comparação entre dois valores ou colunas usando operadores como =, <>, >, <, >=, <=. Exemplo: SELECT * FROM alunos WHERE nota >= 7;
85
Como verificar se um valor está entre dois números em SQL?
BETWEEN valor1 AND valor2 -- Exemplo: SELECT * FROM vendas WHERE valor BETWEEN 100 AND 500;
86
Como verificar se um campo é nulo em SQL?
IS NULL -- Exemplo: SELECT * FROM clientes WHERE telefone IS NULL;
87
Como verificar se um campo não é nulo em SQL?
IS NOT NULL -- Exemplo: SELECT * FROM clientes WHERE telefone IS NOT NULL;
88
Como verificar se um texto contém um padrão?
LIKE -- Exemplo: SELECT * FROM clientes WHERE nome LIKE 'M%';
89
O que é uma expressão lógica composta em SQL?
É uma combinação de duas ou mais expressões lógicas usando operadores como AND, OR e NOT. Exemplo: SELECT * FROM clientes WHERE estado = 'SP' AND idade > 30;
90
Como combinar duas condições para que ambas sejam verdadeiras?
AND -- Exemplo: SELECT * FROM produtos WHERE preco > 100 AND estoque > 0;
91
Como combinar duas condições onde uma delas deve ser verdadeira?
OR -- Exemplo: SELECT * FROM pedidos WHERE status = 'Pago' OR status = 'Enviado';
92
Como negar uma condição lógica em SQL?
NOT -- Exemplo: SELECT * FROM clientes WHERE NOT cidade = 'São Paulo';
93
O que retorna a expressão 1=1 AND 2=2?
Verdadeiro. Ambas as condições são verdadeiras.
94
O que retorna a expressão 1=1 AND 2=3?
Falso. Uma das condições é falsa.
95
O que retorna a expressão 1=1 OR 2=3?
Verdadeiro. Pelo menos uma das condições é verdadeira.
96
Analise o texto abaixo e transforme-o numa expressão lógica: Se o(a) aluno(a) tiver 18 anos ou mais ou for formado em Inglês, ele(a) pode ir para a Escola de Estudos Astronômicos. Ou se ele(a) tiver menos de 18 anos e for formado em Alemão, então deve ir para a Escola de Estudos Supersônicos. O aluno tem 17 anos e é formado em Inglês. Esta expressão terá o resultado verdadeiro ou falso?
Se o aluno tiver 18 anos ou mais ou for formado em Inglês = (IDADE ALUNO >= 18 OR FORMADO = "INGLÊS") Ou se o aluno tiver menos de 18 e formado em alemão = OR (IDADE ALUNO < 18 AND FORMADO = "ALEMÃO") (IDADE ALUNO >= 18 OR FORMADO = "INGLÊS") OR (IDADE ALUNO < 18 AND FORMADO = "ALEMÃO") IDADE ALUNO = 17 anos FORMADO = "INGLÊS" (17 >= 18 OR "INGLÊS" = "INGLÊS") OR (17 < 18 AND "INGLÊS" = "ALEMÃO") (Falso OR Verdadeiro) OR (Verdadeiro AND Falso) (Verdadeiro) OR (Falso) (Verdadeiro)
97
Qual a vantagem de usar IN em vez de OR repetido?
Mais legível, mais curto e geralmente com melhor performance para conjuntos fixos de valores.
98
O que a cláusula IN faz em SQL?
Filtra os resultados para que a coluna tenha um dos valores especificados dentro de uma lista.
99
Sintaxe básica da cláusula IN
SELECT * FROM tabela WHERE coluna IN (valor1, valor2, valor3);
100
Diferença entre IN e múltiplos OR
Nenhuma diferença funcional. IN é apenas uma forma mais limpa e legível de usar múltiplas condições OR.
101
O que acontece se o valor dentro do IN não for encontrado?
A linha não será exibida no resultado. Apenas os valores presentes na lista serão considerados.
102
Como usar NOT IN?
Filtra os registros que não estão dentro da lista: SELECT * FROM produtos WHERE categoria NOT IN ('Eletrônicos', 'Roupas');
103
Qual o cuidado ao usar NOT IN com colunas que podem ter NULL?
Se a subconsulta contiver NULL, NOT IN pode retornar nenhum resultado, mesmo que haja registros válidos. Isso acontece porque comparações com NULL são indeterminadas. ✅ Use NOT EXISTS, que é seguro nesse caso.
104
Se o(a) aluno(a) tiver 18 anos ou mais ou for formado(a) em Inglês ele(a) pode ir para a Escola de Estudos Astronômicos. Ou se ele(a) tiver menos de 18 anos e for formado em Alemão então deve ir para a Escola de Estudos Supersônicos. Qual seria a seleção que deve ser feita para achar os(as) alunos(as) que vão estudar na Escola de Estudos Supersônicos?
SELECT NOME FROM ALUNOS WHERE IDADE < 18 AND FORMAÇÃO = 'ALEMÃO'
105
O que faz o operador LIKE no SQL?
Filtra dados de texto comparando padrões com caracteres curingas, como % e _.
106
Qual o curinga usado para representar qualquer sequência de caracteres no LIKE?
% (porcentagem)
107
Qual o curinga que representa apenas um caractere no LIKE?
_ (underline)
108
Como buscar nomes que começam com "Mar"?
SELECT * FROM clientes WHERE nome LIKE 'Mar%';
109
Como buscar nomes que terminam com "son"?
SELECT * FROM clientes WHERE nome LIKE '%son';
110
Como buscar nomes que contêm a palavra "ana" em qualquer parte?
SELECT * FROM clientes WHERE nome LIKE '%ana%';
111
Como buscar nomes com exatamente 4 letras e que terminam com "a"?
SELECT * FROM clientes WHERE nome LIKE '__ _a'; -- (3 underscores + "a")
112
Diferença entre LIKE e =
= exige correspondência exata LIKE permite buscar por padrão com curingas (%, _)
113
LIKE é case-sensitive?
Depende do banco. No Oracle, geralmente é sensível a maiúsculas/minúsculas, a não ser que se use UPPER() ou LOWER().
114
Como negar um padrão com LIKE?
Usando NOT LIKE SELECT * FROM clientes WHERE nome NOT LIKE '%silva%';
115
Posso usar LIKE com colunas numéricas?
Não diretamente. LIKE é usado com colunas de texto (CHAR, VARCHAR). Se quiser usar com número, converta para texto.
116
Para que serve o comando DISTINCT no SQL?
Para eliminar valores duplicados em uma consulta, retornando apenas valores únicos de uma coluna ou combinação de colunas.
117
Sintaxe básica do DISTINCT
SELECT DISTINCT coluna FROM tabela;
118
Como retornar todos os nomes únicos da tabela CLIENTES?
SELECT DISTINCT nome FROM clientes;
119
O DISTINCT afeta quantas colunas?
Afeta todas as colunas listadas após ele. Ou seja, a combinação de colunas deve ser única para o valor ser considerado distinto.
120
O que acontece ao usar SELECT DISTINCT nome, cidade?
O SQL retorna pares únicos de nome e cidade. Repetições de nome com cidade diferente serão consideradas distintas.
121
DISTINCT e GROUP BY são equivalentes?
Não. Ambos podem retornar valores únicos, mas GROUP BY permite agregações (como COUNT, SUM, etc.), enquanto DISTINCT apenas remove duplicações.
122
Como contar quantos valores distintos existem em uma coluna?
SELECT COUNT(DISTINCT coluna) FROM tabela;
123
O que acontece se usar DISTINCT e ORDER BY juntos?
O SQL elimina duplicatas antes de aplicar a ordenação.
124
O que é ROWNUM no Oracle?
É uma pseudocoluna que representa o número da linha retornada por uma consulta, na ordem em que o Oracle a processa.
125
Para que serve o ROWNUM?
Para limitar o número de linhas retornadas por uma consulta. Por exemplo, para retornar somente as 5 primeiras linhas.
126
Como usar ROWNUM para retornar as 3 primeiras linhas de uma tabela?
SELECT * FROM clientes WHERE ROWNUM <= 3;
127
O ROWNUM é atribuído antes ou depois do ORDER BY?
Antes. Por isso, consultas com ROWNUM e ORDER BY podem retornar resultados inesperados se não forem aninhadas.
128
Como garantir que o ROWNUM respeite a ordem desejada?
Use uma subconsulta com ORDER BY, e aplique o ROWNUM na consulta externa: SELECT * FROM ( SELECT * FROM clientes ORDER BY nome ) WHERE ROWNUM <= 5;
129
É possível usar ROWNUM = 2 diretamente?
Não funciona como esperado. O Oracle atribui ROWNUM em sequência, então ele não verifica ROWNUM = 2 sem antes passar pelo 1.
130
Como retornar a segunda linha de uma consulta com ROWNUM?
Use subconsulta com alias e filtro: SELECT * FROM ( SELECT c.*, ROWNUM r FROM clientes c ) WHERE r = 2;
131
Qual a diferença entre ROWNUM e ROW_NUMBER()?
ROWNUM é uma pseudocoluna pré-definida pelo Oracle. ROW_NUMBER() é uma função analítica que permite ordenações mais precisas e controle sobre a numeração.
132
Como exibir o ROWNUM junto com os dados da tabela?
SELECT ROWNUM, nome FROM clientes;
133
Qual a forma clássica de limitar o número de linhas em Oracle SQL?
Usando a pseudocoluna ROWNUM: SELECT * FROM clientes WHERE ROWNUM <= 10;
134
Por que ROWNUM = 2 geralmente não retorna resultado?
Porque o Oracle atribui ROWNUM sequencialmente. Ele só atribui ROWNUM = 2 após passar pela linha com ROWNUM = 1.
135
Como ordenar os dados e limitar os resultados após a ordenação?
Usando subconsulta: SELECT * FROM ( SELECT * FROM clientes ORDER BY nome ) WHERE ROWNUM <= 5;
136
Qual comando moderno substitui o uso do ROWNUM em versões mais recentes do Oracle (12c+)?
A cláusula FETCH FIRST: SELECT * FROM clientes ORDER BY nome FETCH FIRST 5 ROWS ONLY;
137
Como retornar da linha 11 até a linha 20 com a cláusula moderna?
SELECT * FROM clientes ORDER BY nome OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
138
Quando usar ROWNUM e quando usar FETCH FIRST?
Use ROWNUM em bancos Oracle antigos. Prefira FETCH FIRST em Oracle 12c+ para maior legibilidade e controle.
139
Como selecionar apenas a primeira linha de uma tabela?
SELECT * FROM clientes WHERE ROWNUM = 1; ou SELECT * FROM clientes FETCH FIRST 1 ROW ONLY;
140
Como garantir que a “primeira linha” seja a do cliente com maior crédito?
SELECT * FROM clientes ORDER BY limite_credito DESC FETCH FIRST 1 ROW ONLY;
141
Como filtrar os resultados da query para um mês específico?
Adicionando uma cláusula WHERE TV.MES_ANO = 'MM-YYYY' ao final da query, substituindo 'MM-YYYY' pelo mês desejado.
142
Qual a importância de usar aliases (como NF, INF, TC, TV) nas tabelas e subqueries?
Tornam a query mais legível e facilitam a referência às tabelas e colunas, especialmente em joins complexos.
143
O que significa o P em DELETE FROM PRODUTOS P e SELECT P.CODIGO FROM PRODUTOS P?
É um alias (apelido) para a tabela PRODUTOS, usado para simplificar a referência à tabela dentro do comando.
144
Qual a função da cláusula WHERE P.CODIGO IN (...)?
Especifica que o DELETE deve ser aplicado apenas às linhas da tabela PRODUTOS cujo código (P.CODIGO) esteja presente no resultado da subquery.
145
Qual a importância da condição WHERE TPF.CODIGO_DO_PRODUTO IS NULL na subquery?
Ela filtra o resultado do LEFT JOIN, selecionando apenas os registros da tabela PRODUTOS que não possuem um código correspondente na tabela TABELA_DE_PRODUTOS_FONTE.