Pesquisar este blog

Livros Recomendados

segunda-feira, 20 de julho de 2020

URI (BEECROWD) - 2740 - Liga - SQL - PostgreSQL

Outro exercício de SQL que soluciono e posto aqui. Veja a seguir.

Antes de resolver qualquer problema de SQL do URI, recomendamos seguir os seguintes passos:

  1. Ler todo enunciado do problema.
  2. Ler os tópicos do fórum em caso de dúvidas
  3. Preparar o esquema, conforme fornecido no problema. Obs.: muitas vezes o pessoal coloca o código de criação do esquema no fórum, então é só copiar!

Plataforma: URI (BEECROWD)

Problema2740

Solução:

Esse exercício foi legal porque precisei exercitar um pouco a lógica. O interessante desse exercício é perceber que aqui são duas consultas, uma para os times do pódio e outra para os rebaixados. Com isso foi necessário usar a operação UNION ALL. Para as equipes do pódio, bastava inserir o texto 'Podium: ' concatenado com os times ordenados pela posição, com LIMIT 3 para limitar aos três primeiros. A outra consulta foi considerando os rebaixados, usando o texto 'Demoted: ' concatenado com o time, mas dessa vez ordenando pela posição descendente (DESC) e com LIMIT 2, pois só dois times são rebaixados, conforme enunciado.

A seguida parte da consulta eu resolvi utilizando a consulta WITH, que auxilia em consultas longas. Uma boa fonte para ler sobre ela está aqui: https://www.postgresql.org/docs/9.1/queries-with.html. Dá pra resolver sem isso, existem outras formas de obter o aceite neste exercício.

E você, resolveu da mesma forma que eu ou de forma distinta? Conta aí!

1
2
3
4
(SELECT 'Podium: ' || team FROM league ORDER BY position LIMIT 3)
UNION ALL
(WITH t AS (SELECT * FROM league ORDER BY position DESC LIMIT 2)
  SELECT 'Demoted: '|| team FROM t ORDER BY position ASC);

Um comentário:

  1. Bom dia muito bem, só faltou colocar o name no SELECT para nomear a coluna.

    ResponderExcluir

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas