본문 바로가기

카테고리 없음

[MySQL] Sakila 데이터 실습 - 특정 배우가 출연한 영화 조회하기

Sakila 스키마에서 특정 배우가 출연한 영화 정보를 조회해보는 실습을 해본다.

사용할 테이블은 아래와 같다.

  • actor
  • film_text
  • film_list

 

먼저 배우 목록을 확인해본다.

 

수많은 배우 중에서 actor_id = 1에 해당하는 배우가 출연한 영화를 조회해보도록 한다.

 

 

[film_actor] 테이블은 배우아이디별로 출연한 영화아이디를 확인할 수 있다.

출연영화아이디를 조회한다.

select film_id from film_actor
where actor_id = 1;

 

 

 

서브쿼리로 [film_text] 테이블에서 추가정보를 가져온다.

select film_id, title, description from film_text
where film_id in (
	select film_id from film_actor
	where actor_id = 1
);

 

 

 

title, description 만 있으니 테이블이 허전하다. join 을 사용해 정보를 더 가져온다

select * from film_text ftxt
join film_list flist on flist.fid = ftxt.film_id
where film_id in (
	select film_id from film_actor
	where actor_id = 1
);

 

 

원하는 데이터는 가져왔으나 중복된 데이터가 존재한다. 또한 select 에서 * 를 쓰는 바람에 어떤 데이터를 조회하는지 파악이 어렵다.