Aulas do bloco

← Aulas

SQL e DadosTrilha · etapa 710 min

ORDER BY: ordenação com ASC e DESC

Vídeos desta etapa, na ordem do portal:

  1. Ordenando resultados com ORDER BY · 5 min
  2. Utilizando ORDER BY com DESC · 6 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

Você já filtra linhas com WHERE usando =, >, <, <>, AND, OR, IN e NOT IN depois de projetar colunas com SELECT, FROM, *, AS e ROUND. Sem ordem definida, o resultado vem na ordem que o banco entrega. Esta aula introduz ORDER BY com ASC e DESC para ordenar por uma ou mais colunas e destrava resultados cronológicos e do mais recente para o mais antigo.

O que foi falado

  1. Ordenar com SELECT ... ORDER BY coluna

    Vídeo 1 · 00:00:38

    ORDER BY recebe as colunas de ordenação. Quando uma coluna é indicada sem direção, ASC é o padrão: ordem crescente. Sem ORDER BY, a consulta não garante uma ordem de linhas. Empates precisam de critérios adicionais quando a ordem entre eles importa.

    SQL
    SELECT * FROM "Station Data" ORDER BY YEAR;
  2. Ordem cronológica com YEAR, MONTH

    Vídeo 1 · 00:01:14

    Para cronologia, ordene por YEAR, MONTH separados por vírgula com ORDER BY YEAR, MONTH. A primeira coluna manda e a segunda desempatada quando o ano repete. O filtro WHERE Tornado = 1 vem antes e o ORDER BY ordena só o que passou no filtro.

    SQL
    SELECT * FROM "Station Data" WHERE Tornado = 1 ORDER BY YEAR, MONTH;
  3. Ordenar só por MONTH embaralha o ano

    Vídeo 1 · 00:03:13

    Se ordenar só por MONTH, todos os janeiros vêm juntos e depois os fevereiros, mesmo de anos diferentes. Isso serve para comparar mês, mas não dá linha do tempo. Para linha do tempo, inclua YEAR antes de MONTH.

    SQL
    SELECT * FROM "Station Data" ORDER BY MONTH;
  4. DESC para ordem decrescente

    Vídeo 2 · 00:00:03

    DESC ordena uma coluna em sentido decrescente. Para datas completas, ordenar a data com DESC coloca registros mais recentes primeiro. Usar somente YEAR DESC coloca os anos mais novos primeiro, mas não define a sequência dos meses ou dos registros dentro de cada ano.

    SQL
    SELECT * FROM "Station Data" ORDER BY YEAR DESC;
  5. Direção própria por coluna com YEAR DESC, MONTH ASC

    Vídeo 2 · 00:02:10

    Cada coluna pode ter sua direção, como em YEAR DESC, MONTH ASC. Isso lista o ano mais recente primeiro, mas com os meses de janeiro a dezembro dentro de cada ano. A vírgula separa as colunas e ASC pode ser omitido porque já é o padrão.

    SQL
    SELECT * FROM "Station Data" WHERE Tornado = 1 ORDER BY YEAR DESC, MONTH ASC;
  6. Todos os registros por MONTH DESC

    Vídeo 2 · 00:04:14

    ORDER BY MONTH DESC ordena de dezembro para janeiro em todos os registros. Mostra que DESC vale para qualquer coluna, não só para ano. Trocar ASC por DESC só inverte a lista.

    SQL
    SELECT * FROM "Station Data" ORDER BY MONTH DESC;

Conceitos da aula

  • SELECT
  • WHERE
  • ORDER BY
  • ASC
  • DESC
  • Ordenação por múltiplas colunas
  • Ordenação secundária para desempate

Reforce este assunto

10 exercíciosComeçar →