| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- myBatis
 - JdbcTemplate
 - 리눅스
 - java spring
 - Framework
 - java
 - Spring Boot
 - SpringJDBC
 - spring
 - AOP
 - JDBC TEMPLATE
 - POJO
 - unix
 - Ubunt
 - Dependency Injection
 - pointcut
 - XML
 - @test
 - Di
 - @AspectJ
 - Spring JDBC
 - 컨테이너
 - Linux
 - spring aop
 - @JUnit
 - spring framework
 - @Spring-Test
 - 마이바티스
 - 프로퍼티
 - STS
 
													Archives
													
											
												
												- Today
 
- Total
 
개키우는개발자 : )
PostgreSQL ALL 연산자 본문
반응형
    
    
    
  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분 인것을 알 수 있습니다.

ALL이 없으면 ERROR가 납니다.
- FILM 테이블의 평가 기준을 기준으로 영화 상영 길이의 평균 값을 조회합니다.
평가 기준 평균값들 보다 상영시간이 긴 영화 정보를 조회합니다.
1. 평가 기준으로 평균 상영시간 조회
SELECT
	RATING,ROUND (AVG(LENGTH),2)
FROM
	FILM
GROUP BY
	RATING;

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