[강의명]
패스트캠퍼스 SQL 100제 + 자격증 완성 온라인 완주반
[수강목록]
1주차 과제 풀이 (SQL 1~20번 문제)
[강의내용]
문제11번) 영화배우의 이름 (이름+' '+성) 에 대해서, 대문자로 이름을 보여주세요. 단 고객의 이름이 동일한 사람이 있다면, 중복 제거하고 알려주세요.
문자열을 연결하기 위해 지난번에 다루었던 || 기호를 사용한다.
그리고 문자열을 대문자로 바꾸기 위해 UPPER 함수를 사용한다.
(소문자로 바꾸는 함수는 LOWER() 이다)
SELECT DISTINCT upper(first_name ||' '|| last_name) AS fullname
FROM actor;

대문자로 잘 변경된 것을 볼 수 있다.
문제12번) 고객 중에서, active 상태가 0인 즉 현재 사용하지 않고 있는 고객의 수를 알려주세요.
SELECT count(*)
FROM customer
WHERE active = 0;

문제13번) Customer 테이블을 활용하여, store_id = 1 에 매핑된 고객의 수는 몇명인지 확인해보세요.
SELECT count(customer_id)
FROM customer
WHERE store_id = 1;

문제14번) rental 테이블을 활용하여, 고객이 return했던 날짜가 2005년 6월 20일인 rental의 갯수가 몇개였는지 확인해보세요.
날짜 데이터는 문자열과 마찬가지로 따옴표 안에 입력해주어야 하는 것을 주의한다.
SELECT count(rental_id)
FROM rental
WHERE date(return_date) = '2005-06-20';

문제15번) film 테이블을 활용하여, 2006년에 출시가 되고 rating이 'G' 등급에 해당하며, 대여기간이 3일에 해당하는 것에 대한 film 테이블의 모든 컬럼을 알려주세요.
조건이 3개이고 모든 조건들이 반드시 충족되어야하기 때문에 AND로 연결해준다.
SELECT *
FROM film
WHERE release_year = 2006
AND rating = 'G'
AND rental_duration = 3;

문제16번) langugage 테이블에 있는 id, name 컬럼을 확인해보세요.
SELECT *
FROM "language" l;

문제17번) film 테이블을 활용하여, rental_duration 이 7일 이상 대여가 가능한 film 에 대해서 film_id, title, description 컬럼을 확인해보세요.
SELECT rental_duration, film_id, title, description
FROM film
WHERE rental_duration >= 7;

문제18번) film 테이블을 활용하여, rental_duration 대여가 가능한 일자가 3일 또는 5일에 해당하는 film_id, title, description을 확인해주세요.
'A또는B' 조건에서는 A나 B 중 1개의 조건만 충족해도 된다. AND가 교집합이라면 OR는 합집합의 개념이다.
SELECT rental_duration, 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 으로 컬럼명을 바꿔서 보여주세요
앨리어스(as)를 이용하여 이미 이름이 있는 컬럼이라도 새로 이름을 붙여 출력할 수 있다.
앨리어스는 생략도 가능하다.
SELECT first_name AS firstname, last_name AS lastname
FROM actor;
