# 서브 쿼리
SELECT title, rental_rate
FROM film
WHERE rental_rate >
(SELECT AVG(rental_rate) FROM film)
# 문제1
단계1
# rental 테이블에서 rental_date가 2005년 5월 29일 부터 30일까지의 값을 가져와 줘
SELECT * FROM rental
WHERE rental_date BETWEEN '2005-05-29' AND '2005-05-30'
단계2
# inventory 테이블의 film_id 컬럼 값중에서
SELECT inventory.film_id
# rental 테이블과 일치하는 것 중에서
FROM rental
# inventory 컬럼과 결합해줘
# 그리고 결합한 값중에서 inventory_id 와 rental테이블의 inventory_id 값이 일치하는 것을 가져와줘
INNER JOIN inventory ON inventory.inventory_id = rental.inventory_id
# 가져올 때는 rental 테이블의 return_date의 값이 2005년 5월 29일부터 30일까지의 값으로 가져와줘
WHERE return_date BETWEEN '2005-05-29' AND '2005-05-30'
단계3
# film_id컬럼과 title 컬럼 값 중에서
SELECT film_id, title
# film 테이블에서 가져온 값을 기반으로
FROM film
# film_id가 단계2 필터에 들어있는 값에 해당하는 것을 리턴해줘
WHERE film_id IN
# 단계2는 모두 괄호로 묶어서 필터로 사용
(SELECT inventory.film_id
FROM rental
INNER JOIN inventory ON inventory.inventory_id = rental.inventory_id
WHERE return_date BETWEEN '2005-05-29' AND '2005-05-30')
# 최종 결과물을 film_id 기준으로 정렬해줘
ORDER BY film_id
#문제 2
11달러를 초과하여 지불한 사람의 성과 이름을 알고 싶다.
SELECT first_name, last_name
FROM customer AS c
WHERE EXISTS
(SELECT * FROM payment AS p
WHERE p.customer_id = c.customer_id
AND amount > 11)
'개발일지 > SQL' 카테고리의 다른 글
SQL 기초27 CASE (0) | 2022.08.31 |
---|---|
SQL 기본 26 셀프 조인(self join) (0) | 2022.08.31 |
SQL 기초24 문자열 함수와 문자열 연산 (0) | 2022.08.29 |
SQL 테이블생성, 자료입력, 자료수정 문제 풀이 (0) | 2022.08.29 |
SQL 기본 흐름 (0) | 2022.08.29 |