Access学習メモ 7-10. SQL基礎学習⑩

Access学習メモ 7-10. SQL基礎学習⑩

コンテンツ
学び
結合したテーブルから特定のフィールドを選び
特定のフィールドが持つ値の順に並べ替え、特定のレコードだけを表示する。

これまで作成したテーブル
①M_名簿
名簿.jpg
②M_登場人物
登場人物.jpg
③M_配信リスト
配信リスト.jpg
④T_視聴
視聴.jpg

各テーブルの共通フィールド(列の見出し)を内部結合(INNER JOIN)
表示するフィールドを選択:
[ゴジNo][キャラクター名][話数][タイトル]
[放送日][Seasoon][視聴数(万回)]

指定したレコード(行)を抽出:
[ゴジNo][キャラクター名]のレコード(行)を抽出し
[話数][タイトル]の並べ替え:[視聴数(万回)]を降順表示

抽出条件:
今年度(Season4)は現時点で配信途中であるため、出力対象から除外。
「条件:Season4未満」
結合1.jpg

結合2.jpg

結合3.jpg

目的:キャラクター別に人気作品を調査します。
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以降の回、
あるいは視聴データが未入力の回。
クエリ1.jpg
クエリ2.jpg
クエリ3.jpg


°˖✧◝(σ▿σ)◜✧˖°
Accessで制作したキャラクター別ストーリー視聴ランキング資料です。
(放送開始:2023年4月 ~ 2026年3月)

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg
18.jpg
19.jpg
20.jpg
21.jpg


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す