샘플 데이터베이스 구성

mysql sakila db를 활용

https://dev.mysql.com/doc/sakila/en/sakila-structure.html

 

MySQL :: Sakila Sample Database :: 5 Structure

Sakila Sample Database  /  Structure PREV   HOME   UP   NEXT

dev.mysql.com

에서 다운로드하여, schema.sql로 db table 생성

테이블 선택시 색이 활성화 되서 보여줌


SQL활용 영화,배우,스태프 테이블 탐색

16개의 테이블로 구성

rental table을 보면

대여 관련 컬럼이 있음

동등 연산자를 써도 되지만 in 연산자를 활용하면 더 깔끔하고 직관적으로 작성할 수 있다.


그룹화, 순위, 랭킹 다루기

 

staff 테이블엔 staff의 아이디, 이름, 주소 등의 신상정보가 있음

2명뿐인 렌탈샵의 직원의 주소를 알기 위해, left join 하여 값을 가져와 리턴

현재는 사실상 nature join을 해도 동일

 

해당 영화의 id를 가져와서

그 영화에 출연한 배우들의 ID를 가져오고

그를 통한 배우들의 이름을 가져온다.

서브쿼리로 했지만, join으로도 할 수 있다.


집계 테이블 활용 탐색

서브쿼리를 이용해서 country 테이블에서 canada인 사람의 도시 ID를 가져오고, 도시 ID 로 city 테이블에서 주소를 가져오고, city id를 통해서 customer 테이블의 고객정보중 이름과 성, email을 가져온다.

동일한 결과지만, join을 통해서 구현

rating은 대표값중 하나이기에 필요없음

 

 

+ Recent posts