PostgreSQL/집합 연산자와 서브쿼리
PostgreSQL 실습 문제1
DOGvelopers
2019. 11. 10. 16:44
반응형
실습문제
- FILM 테이블을 2번이나 스캔하고 있다. FILM 테이블을 한번만 SCAN하여 동일한 결과 집합을 구하는 SQL을 작성하세요.
문제 SQL
SELECT
FILM_ID,
TITLE,
RENTAL_RATE
FROM
FILM
WHERE
RENTAL_RATE > (
SELECT
AVG(RENTAL_RATE)
FROM
FILM )
1. 평균값을 집계함수를 활용하여 AVG값을 보여줍니다.
2. 인라인 뷰 서브쿼리를 활용하여 FILM 테이블 A가 됩니다.
3. 조건을 넣어 원하는 결과값을 조회 합니다.
SELECT
FILM_ID,
TITLE,
RENTAL_RATE
FROM
(
SELECT
FILM_ID,
TITLE,
RENTAL_RATE,
AVG(A.RENTAL_RATE) OVER() AS AVG_RENTAL_RATE
FROM
FILM A ) A
WHERE
RENTAL_RATE > AVG_RENTAL_RATE
결과의 값은 동일해야 합니다.
반응형