2022. 3. 15. 00:48ㆍSite/SQL ZOO
Star Trek시리즈[Star Trek으로시작되는]를 조회하기 위해 LIKE연산자 + 와일드카드 %를 시용하고 yr로 정렬
힌트에서 Casablanca의 movieid값이 11768이라고 했습니다
Casablanca의 캐스팅된 배우의 리스트를 얻기위해서는 배우이름정보가 들어있는 actor테이블과 movieid값이 들어있는 casting테이블을 공통된키값[casting.actorid, actor.id]로 조인하여 출력하였습니다
제목이 Alien인 title을 조회하려 하는데 movie테이블과 actor테이블 공통된 키값[X]
-> actor과 casting테이블의 공통된키값[casting.actorid, actor.id]으로 조인하고
casting과 movie테이블을 공통된키값[movie.id, casting.movieid]으로 조인하여 접근하였습니다
이것역시 actor테이블과 movie테이블을 조인을 할수없어서
다중조인을 통해 접근해야됩니다[movie 조인 casting -> actor 조인 casting]
여기서 추가된것은 ord가 1이 아닌값을 넣어주어야 됩니다
일단 actor의 이름 = Harrison Ford어야 되지만 actor와 movie는 조인을 할수없으므로 casting과 조인 -> casting과 actor을 조인 -> name과 ord에 모두 접근할수있으므로 WHERE절에 조건을 추가해주었습니다
이번에는 주연을 찾아야 되므로 9번 문제와 반대로 ord =1인 조건을 넣어주면 될 것 같습니다
일단 Rock Hudson이름으로 연도와 작품수를 조회해볼려하니 movie테이블과 actor테이블은 조인할수없으므로 casting과 movie를 조인하고 actor테이블을 조인하였습니다
name = Rock Hudson 조건을 걸고 yr로 그룹하여 Having 조건절에 3회이상 출연한 작품을 COUNT해주고 SELECT절에 해당 연도와 작품을 COUNT를 사용하여 작성하였습니다
*
[전체 SQL문]
SELECT title, name
FROM movie
JOIN casting ON(casting.movieid=movie.id AND ord=1)
JOIN actor ON(casting.actorid=actor.id)
WHERE movie.id IN (10016,12354,12497,12766,13846,15145,15476,16870,17117,17445,17765,18270,20136,20136,20180,20181,20509,2062,21023,21154,21171,21483)
*
먼저 Julie Andrews가 출연한 작품을 출력하기위해 WHERE절에 Julie Andrews가 출연한 작품의 movie.id입력
Julie Andrews가 출연한 주연을 출력하기 위해 movie테이블과 casting테이블의 조인연산에 ord=1로 설정해주어 name 접근가능 -> 추가로 actor과 casting테이블을 조인하여 title접근가능하게 해주었습니다
15개이상의 주연의 수를 알기위해 먼저 배우이름을 그룹화하여 Having절에 COUNT(actor.name)을 통해 15이상 주역인 배우를 조건시켜주었습니다
먼저 1978년에 개봉한 영화에 맞추기위해 조건을 yr=1978, movie.title별로 그룹시켜고 주연배우수를 조회하기위해 COUNT를 이용해 actor.id의 수를 세어주며 내림차순으로 DESC 그 뒤 title순으로 정렬시켜주었습니다
이 문제에서는 서브쿼리를 사용해야되었습니다
서브쿼리에 조인연산을 통해 name에 접근하여 이름이 Art Garfunkel인 조건을 넣어주고
메인 쿼리부분에서 actor != Art Garfunkel 통해 작업한 사람중에 Art Garfunkel라는 이름을 제외시켜주어야 됩니다
'Site > SQL ZOO' 카테고리의 다른 글
SQL ZOO[MySQL]Using Null (0) | 2022.03.20 |
---|---|
SQL ZOO[MySQL]JOIN Quiz 2 (0) | 2022.03.15 |
SQL ZOO[MySQL] JOIN Quiz (0) | 2022.03.11 |
SQL ZOO[MySQL] The JOIN operation (0) | 2022.03.11 |
SQL ZOO[MySQL] SUM and COUNT Quiz (0) | 2022.03.06 |