Menu
Coddy logo textTech

Recap - With Queries

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:

  • <b>devices_specs</b>: <b>device_id</b>, <b>width</b>, <b>height</b>, <b>num_features</b>, <b>opinion</b>
  • <b>devices_score</b>: <b>device_id</b>, <b>score</b>

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

Queremos encontrar todos os dispositivos superestimados. Busque todos os dispositivos em que a opinion do dispositivo seja maior que a qualidade média (average) e o score do dispositivo seja menor que a qualidade média. Retorne apenas o device_id.

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

Experimente você mesmo

-- Passo 1: nomeie 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
)
-- Passo 2: una as duas tabelas de dispositivos e depois anexe 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
-- Passo 3: mantenha os dispositivos que ficam em lados opostos dessa média
WHERE ____

Todas as lições de Fundamentos

Pratique por conta própria: Playground de SQL