JOIN 활용 실제 예제2

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

10. JOIN 활용 실제 예제2

예제2: 카테고리에 포함되는 각각의 영화 수가 70 이상인 카테고리 출력하기

  • WHERE절의 조건은 <FROM 테이블명>으로 지정된 테이블을 대상으로 한다.

  • GROUP BY 절에 의해서 생긴 각 그룹에 대해서 조건을 적용하려면 HAVING절을 사용해야 한다.

  • 이미 만들어진 쿼리부터 시작합니다.
In [125]:
SQL_QUERY = """
    SELECT category.name, COUNT(*) AS category_film_count
    FROM film_category
    INNER JOIN category
    ON category.category_id = film_category.category_id
    WHERE (category.name = 'Comedy' OR category.name = 'Sports' OR category.name = 'Family') 
    GROUP BY category.category_id
"""
In [126]:
pd.read_sql(SQL_QUERY, db)
Out[126]:
name category_film_count
0 Comedy 58
1 Family 69
2 Sports 74
In [127]:
SQL_QUERY = """
    SELECT category.name, COUNT(*) AS category_film_count
    FROM film_category
    INNER JOIN category
    ON category.category_id = film_category.category_id
    GROUP BY category.category_id
"""
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다
In [128]:
pd.read_sql(SQL_QUERY, db)
Out[128]:
name category_film_count
0 Action 64
1 Animation 66
2 Children 60
3 Classics 57
4 Comedy 58
5 Documentary 68
6 Drama 62
7 Family 69
8 Foreign 73
9 Games 61
10 Horror 56
11 Music 51
12 New 63
13 Sci-Fi 61
14 Sports 74
15 Travel 57
In [129]:
SQL_QUERY = """
    SELECT category.name, COUNT(*) AS category_film_count
    FROM film_category
    INNER JOIN category
    ON category.category_id = film_category.category_id
    GROUP BY category.category_id
    HAVING COUNT(*) > 70
"""
In [130]:
pd.read_sql(SQL_QUERY, db)
Out[130]:
name category_film_count
0 Foreign 73
1 Sports 74