PostgreSQL ALL 연산자를 사용하여 값을 하위 쿼리에서 반환된 값 목록과 비교하는 방법
하위 쿼리에서 반환된 값 목록과 비교하여 데이터를 쿼리할 수 있습니다 .
comparison_operator ALL (subquery)
- ALL 연산자 앞에는 같음(=), 같지 않음(!=), 보다 큼(>), 크거나 같음(>=), 보다 작음(<) 및 보다 작거나 같은 비교 연산자가 와야 합니다. (<=)와 같습니다.
- ALL 연산자 다음에 괄호로 묶어야 하는 하위 쿼리가 와야 합니다.
하위 쿼리가 일부 행을 반환한다고 가정하면 ALL 연산자는 다음과 같이 작동합니다.
- column_name > ALL (subquery) 값이 하위 쿼리에서 반환된 가장 큰 값보다 크면 표현식은 true로 평가됩니다.
- column_name >= ALL (subquery) 값이 하위 쿼리에서 반환된 가장 큰 값보다 크거나 같으면 표현식은 true로 평가됩니다.
- column_name < ALL (subquery) 값이 하위 쿼리에서 반환된 가장 작은 값보다 작은 경우 표현식은 true로 평가됩니다.
- column_name <= ALL (subquery) 값이 하위 쿼리에서 반환된 가장 작은 값보다 작거나 같으면 표현식은 true로 평가됩니다.
- column_name = ALL (subquery) 값이 하위 쿼리에서 반환된 값과 같으면 표현식은 true로 평가됩니다.
- column_name != ALL (subquery) 값이 하위 쿼리에서 반환된 값과 같지 않으면 표현식은 true로 평가됩니다.
하위 쿼리가 행을 반환하지 않는 경우 ALL 연산자는 항상 true로 평가됩니다.
반응형
SELECT
ROUND(AVG(length), 2) avg_length
FROM
film
GROUP BY
rating
ORDER BY
avg_length DESC;
-- 평균 길이 목록보다 긴 모든 영화 찾는 쿼리
SELECT
film_id,
title,
length
FROM
film
WHERE
length > ALL (
SELECT
ROUND(AVG (length),2)
FROM
film
GROUP BY
rating
)
ORDER BY
length;
반응형
'SW ENGINEERING > Postgres' 카테고리의 다른 글
[PostgreSQL] BASIC - EXISTS (0) | 2021.09.03 |
---|---|
[PostgreSQL] BASIC - CTE (0) | 2021.09.03 |
[PostgreSQL] BASIC - ANY (0) | 2021.09.03 |
[PostgreSQL] BASIC - Subquery (0) | 2021.09.03 |
[PostgreSQL] BASIC - ROLLUP (0) | 2021.09.03 |
최근댓글