Menu
CoddyTech

복습 - WITH 쿼리

Coddy SQL 여정의 기초 섹션에 포함된 레슨. 72개 중 50번째.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 열:

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

기기의 품질은 (width/height)*num_features로 측정합니다.

과대평가된 기기를 모두 찾으려고 합니다. 기기의 opinion이 품질 평균보다 높고 기기의 score가 평균 품질보다 낮은 기기를 모두 가져오세요. device_id만 반환하세요.

이 문제를 해결하려면 WITH 절을 사용해 평균 품질을 계산하는 하위 쿼리를 만들고 이를 기본 쿼리에서 재사용하세요.

직접 해보기

-- 1단계: 평균값 하나를 담는 임시 결과 집합에 이름을 지정합니다
WITH avg_quality AS (
    SELECT ____ AS avg_q
    FROM devices_specs
)
-- 2단계: 두 기기 테이블을 결합한 다음 임시 결과 집합을 연결합니다
SELECT dsp.device_id
FROM devices_specs dsp
INNER JOIN devices_score dsc ON ____
INNER JOIN avg_quality aq
-- 3단계: 해당 평균을 기준으로 서로 반대편에 있는 기기만 남깁니다
WHERE ____

기초의 모든 레슨

직접 연습해 보세요: SQL 플레이그라운드