Order By Flashcards

(29 cards)

1
Q

Para que serve a cláusula ORDER BY?

A

Ordena os resultados de uma consulta SQL com base nos valores de uma ou mais colunas.

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

Qual a ordem padrão usada pelo ORDER BY?

A

A ordem crescente (ASC) é a padrão.

SELECT * FROM clientes ORDER BY nome;

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

Como ordenar resultados em ordem decrescente?

A

Usando DESC:

SELECT * FROM clientes ORDER BY idade DESC;

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

Como ordenar por múltiplas colunas?

A

SELECT * FROM clientes
ORDER BY estado ASC, nome DESC;

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

Posso ordenar por número da coluna no SELECT?

A

SELECT nome, idade FROM clientes
ORDER BY 2; – ordena por idade

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

ORDER BY vem antes ou depois do WHERE?

A

Vem depois. A ordem correta é:
SELECT → FROM → WHERE → ORDER BY

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

Posso usar ORDER BY junto com FETCH FIRST?

A

Sim. Exemplo:

SELECT * FROM clientes
ORDER BY limite_credito DESC
FETCH FIRST 5 ROWS ONLY;

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

Como ordenar nomes ignorando letras maiúsculas/minúsculas?

A

Usando UPPER() ou LOWER() na cláusula:

SELECT * FROM clientes
ORDER BY UPPER(nome);

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

O ORDER BY afeta a performance?

A

Sim, pode impactar a performance, principalmente em grandes volumes de dados sem índice nas colunas ordenadas.

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

Como ordenar uma consulta pelos valores numéricos de uma coluna?

A

(ordem crescente, do menor para o maior)

SELECT * FROM produtos
ORDER BY preco;

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

Como limitar a saída aos 3 produtos mais caros?

A

SELECT * FROM produtos
ORDER BY preco DESC
FETCH FIRST 3 ROWS ONLY;

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

O que acontece se a coluna numérica tiver valores nulos?

A

Por padrão, o Oracle posiciona os valores NULL no final ao usar ORDER BY ASC e no início ao usar ORDER BY DESC.

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

Como ordenar os resultados colocando NULL no final, mesmo com DESC?

A

SELECT * FROM produtos
ORDER BY preco DESC NULLS LAST;

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

Qual a ordem padrão ao usar ORDER BY em colunas de texto?

A

Ordem crescente (ASC) alfabética, de “A” a “Z”.
SELECT nome FROM clientes ORDER BY nome;

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

O Oracle diferencia maiúsculas de minúsculas no ORDER BY?

A

Sim, por padrão “A” e “a” são diferentes. Para ignorar o caso, use UPPER() ou LOWER().

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

Como colocar valores NULL no final mesmo usando ASC?

A

SELECT cidade FROM clientes
ORDER BY cidade ASC NULLS LAST;

17
Q

Como ordenar primeiro por sobrenome e depois por nome?

A

SELECT sobrenome, nome FROM pessoas
ORDER BY sobrenome, nome;

18
Q

Posso ordenar pelo resultado de uma função sobre a coluna?

A

Sim. Ex.: remover acentos com função e ordenar:

SELECT nome FROM clientes
ORDER BY TRANSLATE(UPPER(nome),’ÁÉÍÓÚÂÊÔÃÕÀÇ’,’AEIOUAEOAOC’);

19
Q

Como ordenar por texto e limitar os 5 primeiros resultados? (12c+)

A

SELECT nome FROM clientes
ORDER BY nome
FETCH FIRST 5 ROWS ONLY;

20
Q

Como manter a ordem original da string mas ainda aplicar ORDER BY?

A

Use alias numérico da coluna na lista de seleção:

SELECT nome, cidade
FROM clientes
ORDER BY 1; – 1ª coluna da lista (nome)

21
Q

Como ordenar primeiro por departamento (ASC) e, dentro dele, por salário (DESC)?

A

SELECT departamento, salario
FROM funcionarios
ORDER BY departamento ASC,
salario DESC;

22
Q

Como ordenar por estado; se houver empate, por cidade e, por fim, por nome?

A

SELECT nome, cidade, estado
FROM clientes
ORDER BY estado,
cidade,
nome;

23
Q

Como misturar texto e número: categoria (ASC) e preço com desconto (preço – desconto) em ordem crescente?

A

SELECT categoria,
preco,
desconto
FROM produtos
ORDER BY categoria,
(preco - desconto);

24
Q

Como ordenar ignorando maiúsculas/minúsculas em dois campos (sobrenome, nome)?

A

SELECT sobrenome, nome
FROM pessoas
ORDER BY UPPER(sobrenome),
UPPER(nome);

25
Como ordenar primeiro pelos nulos (cidade), depois pelo texto (ASC)?
SELECT cidade FROM clientes ORDER BY cidade NULLS FIRST;
26
Como ordenar por ano de contratação (extraído da data) e, no empate, por salário?
SELECT nome, data_contratacao, salario FROM funcionarios ORDER BY EXTRACT(YEAR FROM data_contratacao), salario;
27
Usando posição: ordenar pela 2ª coluna em ASC e 3ª coluna em DESC.
SELECT id, nome, limite_credito FROM clientes ORDER BY 2, -- nome ASC 3 DESC; -- limite_credito DESC
28
Paginação: ordenar por data_venda DESC e trazer as linhas 11‑20.
SELECT * FROM vendas ORDER BY data_venda DESC OFFSET 10 ROWS -- pula as 10 primeiras FETCH NEXT 10 ROWS ONLY; -- pega as próximas 10
29
Qual a regra de precedência entre colunas em ORDER BY com múltiplos critérios?
A ordenação é avaliada da esquerda para a direita: o 1º critério ordena todo o conjunto; o 2º só decide empates do 1º; o 3º decide empates do 1º e 2º, e assim por diante.