Menu
CoddyTech

Revisão – Consultas com WITH

Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 50 de 72.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • devices_specs: device_id, width, height, num_features, opinion
  • devices_score: device_id, score

A qualidade de um dispositivo é medida por (width/height)*num_features.

Queremos encontrar todos os dispositivos supervalorizados. Busque todos os dispositivos cuja opinion seja maior que a qualidade média e cuja score seja menor que a qualidade média. Retorne apenas o device_id.

Para resolver isso, use a cláusula WITH para criar uma subconsulta que calcula a qualidade média e reutilize-a na consulta principal.

Experimente você mesmo

-- Etapa 1: dê um nome a um conjunto de resultados temporário que contém um único valor médio
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- Etapa 2: junte as duas tabelas de dispositivos e, em seguida, associe o conjunto de resultados temporário
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- Etapa 3: mantenha os dispositivos que estão em lados opostos dessa média
WHERE ____

Todas as lições de Fundamentos

Pratique por conta própria: Playground de SQL