수강 날짜 20.07.21
생각대로 sql-1
09 : limit
10 : FETCH
생각대로의 문제는 첨부파일을 다운을 받아서 그것을 해결하였다.
문제는 다음과 같고 이것을 풀이하였다.
강의에서는 일부 문제만을 수행하였으나 전체 풀이를 진행하였다.
--문제1번) dvd 렌탈 업체의 dvd 대여가 있었던 날짜를 확인해주세요. select distinct date(rental_date) from rental;
--문제2번) 영화길이가 120분 이상이면서, 대여기간이 4일 이상이 가능한, 영화제목을 알려주세요. select f.title from film f, rental r where(date(r.return_date) - date(r.rental_date)) >= 4 and f.length >= 120;
--문제3번) 직원의 id 가 2 번인 직원의 id, 이름, 성을 알려주세요 select e.employee_id, split_part(e.employee_name, ' ',1) as firstname,split_part(e.employee_name, ' ',2) as lastname from employees e where e.employee_id = 2;
--문제4번) 지불 내역 중에서, 지불 내역 번호가 17510 에 해당하는 , 고객의 지출 내역 (amount ) 는 얼마인가요? select p.amount from payment p where p.payment_id = 17510;
--문제5번) 영화 카테고리 중에서 ,Sci-Fi 카테고리의 카테고리 번호는 몇번인가요? select category_id from category c where name = 'Sci-Fi';
--문제6번) film 테이블을 활용하여, rating 등급(?) 에 대해서, 몇개의 등급이 있는지 확인해보세요. select count (distinct f.rating) from film f; --다시 풀어볼 것
--문제7번) 대여 기간이 (회수 - 대여일) 10일 이상이였던 rental 테이블에 대한 모든 정보를 알려주세요. --단 , 대여기간은 대여일자부터 대여기간으로 포함하여 계산합니다. select * from rental r where date(r.return_date) - date(r.rental_date) + 1 >= 10;
--문제8번) 고객의 id 가 50,100,150 ..등 50번의 배수에 해당하는 고객들에 대해서, --회원 가입 감사 이벤트를 진행하려고합니다. --고객 아이디가 50번 배수인 아이디와, 고객의 이름 (성, 이름)과 이메일에 대해서 --확인해주세요. select c.customer_id, c.last_name || ', ' || c.first_name, c.email from customer c where c.customer_id %50 = 0;
--문제9번) 영화 제목의 길이가 8글자인, 영화 제목 리스트를 나열해주세요. select * from film f where length (f.title) = 8;
--문제10번) city 테이블의 city 갯수는 몇개인가요? --1 select count(c) from city c; --2 select max(city_id) from city; --3 select count(distinct city) from city;
--문제11번) 영화배우의 이름 (이름+' '+성) 에 대해서, 대문자로 이름을 보여주세요. 단 고객의 이름이 동일한 사람이 있다면, 중복 제거하고, 알려주세요. select upper((a.first_name ||' ' ||a.last_name)) from actor a, customer c where a.first_name != c.first_name and a.last_name != c.last_name ;
--문제12번) 고객 중에서, active 상태가 0 인 즉 현재 사용하지 않고 있는 고객의 수를 알려주세요. select count(*) from customer c where c.active =0;
--문제13번) Customer 테이블을 활용하여, store_id = 1 에 매핑된 고객의 수는 몇명인지 확인해보세요. select count(*) from customer c where store_id = 1;
--문제14번) rental 테이블을 활용하여, 고객이 return 했던 날짜가 2005년6월20일에 해당했던 rental 의 갯수가 몇개였는지 확인해보세요. select * from rental r where date(r.rental_date) = '2005-06-20';
--문제15번) film 테이블을 활용하여, 2006년에 출시가 되고 rating 이 'G' 등급에 해당하며, 대여기간이 3일에 해당하는 것에 대한 film 테이블의 모든 컬럼을 알려주세요. select * from film f where release_year = 2006 and rating = 'G';
--문제16번) langugage 테이블에 있는 id, name 컬럼을 확인해보세요 . select language_id , "name" from language l;
--문제17번) film 테이블을 활용하여, rental_duration 이 7일 이상 대여가 가능한 film 에 대해서 film_id, title, description 컬럼을 확인해보세요. select film_id, title, description from film where rental_duration >= 7;
--문제18번) film 테이블을 활용하여, rental_duration 대여가 가능한 일자가 3일 또는 5일에 해당하는 film_id, title, desciption 을 확인해주세요. select film_id, title, description from film where rental_duration = 3 or rental_duration = 5;
--문제19번) Actor 테이블을 이용하여, 이름이 Nick 이거나 성이 Hunt 인 배우의 id 와 이름, 성을 확인해주세요. select actor_id, first_name, last_name from actor where first_name = 'Nick' or last_name = 'Hunt';
--문제20번) Actor 테이블을 이용하여, Actor 테이블의 first_name 컬럼과 last_name 컬럼을 , firstname, lastname 으로 컬럼명을 바꿔서 보여주세요 select first_name as firstname, last_name as lastname from actor