개키우는개발자 : )

PostgreSQL ALL 연산자 본문

PostgreSQL/집합 연산자와 서브쿼리

PostgreSQL ALL 연산자

DOGvelopers 2019. 11. 10. 16:14
반응형

ALL 연산자란?

값을 서브 쿼리에 의해 반환된 값 집합과 비교한다. ALL 연산자는 서브쿼리의 모든 값이 만족을 해야만 조건이 성립된다.

 

실습

 

- FILM 테이블의 영화 분류별 상영시간이 가장 긴 영화의 모든 상영시간 보다 크거나 같아야만 조건 성립, 영화 분류별 상영시간이 가장 긴 상영시간을 구합니다.

 

SELECT
	TITLE,
	LENGTH
FROM
	FILM
WHERE
	LENGTH >= ALL 
	(
		SELECT
			MAX(LENGTH)
		FROM
			FILM A,
			FILM_CATEGORY B
		WHERE
			A.FILM_ID = B.FILM_ID
		GROUP BY
			B.CATEGORY_ID 
	)

상영시간이 가장 긴 영화는 185분 인것을 알 수 있습니다.

실습1

ALL이 없으면 ERROR가 납니다.

 

 

- FILM 테이블의 평가 기준을 기준으로 영화 상영 길이의 평균 값을 조회합니다.

평가 기준 평균값들 보다 상영시간이 긴 영화 정보를 조회합니다.

 

1. 평가 기준으로 평균 상영시간 조회

SELECT
	RATING,ROUND (AVG(LENGTH),2)
FROM
	FILM
GROUP BY
	RATING;

실습2

1. 평균 시간보다 긴 상영시간 모두 조회

SELECT
	FILM_ID,
	TITLE,
	LENGTH
FROM
	FILM
WHERE
	LENGTH > ALL (
	SELECT
		ROUND (AVG(LENGTH),2)
	FROM
		FILM
	GROUP BY
		RATING 
)
ORDER BY LENGTH

실습

 

반응형

'PostgreSQL > 집합 연산자와 서브쿼리' 카테고리의 다른 글

PostgreSQL 실습 문제1  (0) 2019.11.10
PostgreSQL EXISTS 연산자  (0) 2019.11.10
PostgreSQL ANY 연산자  (0) 2019.11.10
PostgreSQL 서브쿼리  (0) 2019.11.10
PostgreSQL EXCEPT 연산  (0) 2019.11.10
Comments