結合したテーブルから特定のフィールドを選び
特定のフィールドが持つ値の順に並べ替え、特定のレコードだけを表示する。
これまで作成したテーブル
①M_名簿
②M_登場人物
③M_配信リスト
④T_視聴
各テーブルの共通フィールド(列の見出し)を内部結合(INNER JOIN)
表示するフィールドを選択:
[ゴジNo][キャラクター名][話数][タイトル]
[放送日][Seasoon][視聴数(万回)]
指定したレコード(行)を抽出:
[ゴジNo][キャラクター名]のレコード(行)を抽出し
[話数][タイトル]の並べ替え:[視聴数(万回)]を降順表示
抽出条件:
今年度(Season4)は現時点で配信途中であるため、出力対象から除外。
「条件:Season4未満」
目的:キャラクター別に人気作品を調査します。
SQLはこんな感じ:
SELECT
M_名簿.[ゴジNo],
M_名簿.[キャラクター名],
M_登場人物.[話数],
M_配信リスト.[タイトル],
M_配信リスト.[放送日],
M_配信リスト.[Season], T_視聴.[視聴数(万回)]
FROM
((M_名簿 INNER JOIN M_登場人物 ON M_名簿.[ゴジNo] = M_登場人物.[ゴジNo])
INNER JOIN
M_配信リスト ON M_登場人物.[話数] = M_配信リスト.[話数])
INNER JOIN
T_視聴 ON M_配信リスト.[話数] = T_視聴.[話数]
WHERE
(((M_名簿.[ゴジNo])="CH001") AND ((M_配信リスト.Season)<4))
ORDER BY
T_視聴.[視聴数(万回)] DESC;
※WHERE条件のゴジNoは都度、指定(上記例はちびゴジラ)
1. SQL文の全体像:
下記テーブル4つの情報をひとつに合体させている。
①M_名簿:ゴジNoに結びつくキャラクター名
②M_登場人物:ゴジNoにて管理されたストーリーごとのキャラクター出演状況
③M_配信リスト:配信中ストーリー情報(タイトル、放送日、Season)
④T_視聴: ストーリーごとの動画再生数(万回)
2. 結合(JOIN)の構造
結合関係にあるテーブルのレコード(行)に条件合致が確認できた場合、データ表示。
配信リストにない回、登場人物が登録されていない回、名簿にないキャラクターの情報は、結合を解く。
3. WHERE句:抽出条件の絞り込み
M_名簿.[ゴジNo] = "CH001"~"CH020"キャラクターのデータを限定表示.
M_配信リスト.[Season] < 4: 上記の内、抽出対象を第1シーズンから第3シーズンまでの作品に限定。
4. ORDER BY句:ランキング整理
T_視聴.[視聴数(万回)] DESC: 降順(大きい順)を意味する。
(対義語:昇順ASC)
視聴数が多い(人気がある)順に並べる。
表示されるもの:
対象ゴジNoキャラが登場し、かつ視聴数データも存在する、
Season1〜3の放送回。
表示されないもの:
対象ゴジNoのキャラクターが登場していない回、Season4以降の回、
あるいは視聴データが未入力の回。
°˖✧◝(σ▿σ)◜✧˖°
Accessで制作したキャラクター別ストーリー視聴ランキング資料です。
(放送開始:2023年4月 ~ 2026年3月)