메인쿼리가 아닌것. 종류로는 중첩 서브쿼리, 인라인 뷰, 스칼라 서브쿼리가 있다
메인 쿼리란,
SELECT
avg(f.rental_rate)
FROM
film f ;
이런 것.
SELECT
f.film_id
,f.title
,f.rental_rate
FROM
film f
WHERE
f.rental_rate > 2.98;
또는 이런 것.
이걸 하나의 SQL문으로 만들 수 있을까?
중첩 서브쿼리
괄호를 써서 사용한다
SELECT
f.film_id
,f.title
,f.rental_rate
FROM
film f
WHERE
f.rental_rate >
(
SELECT
avg(f.rental_rate)
FROM
film f
);
인라인 뷰
from 절 내에 괄호에 있는 쿼리
SELECT
f.film_id
,f.title
,f.rental_rate
FROM
film f
, (
SELECT
avg(f2.rental_rate) AS avg_rental_rate
FROM
film f2
) b
WHERE
f.rental_rate > b.avg_rental_rate;
스칼라 서브쿼리
select list 안에 존재하는 서브쿼리
SELECT
f3.film_id
,f3.title
,f3.rental_rate
FROM
(
SELECT
f3.film_id
,f3.title
,f3.rental_rate
,(
SELECT avg(f4.rental_rate)
FROM film f4
) AS avg_rental_rate
FROM
film f3
) f3
WHERE f3.rental_rate > f3.avg_rental_rate;
'데이터 분석 > SQL' 카테고리의 다른 글
[쉽게 쓴 SQL] EXISTS (0) | 2020.11.21 |
---|---|
[쉽게 쓴 SQL] ANY 그리고 IN, ALL (0) | 2020.11.21 |
[쉽게 쓴 SQL] EXCEPT (0) | 2020.11.08 |
[쉽게 쓴 SQL] INTERSECT (0) | 2020.11.08 |
[쉽게 쓴 SQL] UNION + ALL (0) | 2020.11.06 |