Step4 クエリ(問い合わせ)
STEP 4

クエリ(問い合わせ)

サンプルのAccessファイルを使用します。
このページの一番下からDBNew_Sample_Step4.zipをダウンロードして任意の場所で解凍してください。

1. サンプルファイルの構成
Students
StudentID Furigana Name Grade Class Height ClubID JHighID
1 田中 太郎 タカナ タロウ 1 A 162 4 1
2 鈴木 花子 スズキ ハナコ 3 B 170 3 7
3 佐藤 健 サトウ ケン 2 C 158 1 1
4 高橋 愛 タカハシ アイ 1 B 165 1 1
5 伊藤 次郎 イトウ ジロウ 2 A 176 1 4
6 渡辺 美咲 ワタナベ ミサキ 3 C 154 2 6
8 中村 春菜 ナカムラ ハルナ 2 B 160 6 2
9 小林 大輔 コバヤシ ダイスケ 3 C 172 5 2
10 加藤 恵 カトウ メグミ 1 B 168 5 6
Clubs
ClubID ClubName
1 サッカー部
2 野球部
3 バスケットボール部
4 バレー部
5 書道同好会
6 パソコン同好会
JHighs
JHighID JHighName
1 北海道中学校
2 東北中学校
3 関東中学校
4 東海中学校
5 近畿中学校
6 中国中学校
7 四国中学校
8 九州中学校
E-R図(Clubs- Students - JHights)
Clubs
ClubID (PK)
ClubName
Students
StudentID (PK)
Name
Furigana
Grade
Class
Height
ClubID (FK → Clubs)
JHighID (FK → JHights)
JHights
JHightID (PK)
JHightName

E-R図(Entity Relationship Diagram)

2. 複数テーブルにまたがるクエリ

リレーショナルシップで関連付けられた主キー(PK) と外部キー(FK) を WHERE 句で結び付ける

(1) 生徒名と所属クラブ名を表示する

SELECT Students.Name,Clubs.ClubName
FROM Students,Clubs
WHERE Students.ClubID = Clubs.ClubID;
結果のビュー(仮想表)
Name ClubName
佐藤 健サッカー部
高橋 愛サッカー部
伊藤 次郎サッカー部
渡辺 美咲野球部
鈴木 花子バスケットボール部
田中 太郎バレー部
小林 大輔書道同好会
加藤 恵書道同好会
中村 春菜パソコン同好会

(2) 生徒名と出身中学校名を表示する

SELECT Students.Name,JHighs.JHighName
FROM Students,JHighs
WHERE Students.JHighID = JHighs.JHighID;
結果のビュー(仮想表)
Name JHighName
田中 太郎北海道中学校
佐藤 健北海道中学校
高橋 愛北海道中学校
中村 春菜東北中学校
小林 大輔東北中学校
伊藤 次郎東海中学校
渡辺 美咲中国中学校
加藤 恵中国中学校
鈴木 花子四国中学校

(3) 生徒名・クラブ名・出身中学校名を表示する

SELECT Students.Name,Clubs.ClubName,JHighs.JHighName
FROM Students,Clubs,JHighs
WHERE Students.ClubID = Clubs.ClubID
AND Students.JHighID = JHighs.JHighID;
結果のビュー(仮想表)
Name ClubName JHighName
田中 太郎バレー部北海道中学校
鈴木 花子バスケットボール部四国中学校
佐藤 健サッカー部北海道中学校
高橋 愛サッカー部北海道中学校
伊藤 次郎サッカー部東海中学校
渡辺 美咲野球部中国中学校
中村 春菜パソコン同好会東北中学校
小林 大輔書道同好会東北中学校
加藤 恵書道同好会中国中学校

(4) StudentID が 8 の生徒名・クラブ名・出身中学校名を表示する

SELECT Students.Name,Clubs.ClubName,JHighs.JHighName
FROM Students,Clubs,JHighs
WHERE Students.ClubID = Clubs.ClubID
AND Students.JHighID = JHighs.JHighID
AND StudentID = 8;
結果のビュー(仮想表)
Name ClubName JHighName
中村 春菜パソコン同好会東北中学校
3. エイリアス(別名)

エイリアス(別名)とは、テーブルやフィールドに一時的な別名を付ける機能です。

 FROM Students AS S 

と書くと

Students S 

という意味になり、このSQLの中では Students の代わりに S が使えます。

例4のSQL 文は

SELECT
  S.Name,
  C.ClubName,
  J.JHighName
FROM 
  Students AS S,
  Clubs AS C,
  JHighs AS J
WHERE
  S.ClubID = C.ClubID
  AND S.JHighID = J.JHighID
  AND S.StudentID = 8;

のように記述でき、読みやすくなります。

処理内容や検索結果は変わりません。


ファイル名 サイズ (KB) ダウンロード
DBNew_Sample_Step4.zip 22

戻る


© 2026 - Blazor 情処の味方

サポーターズ
Thread Light
An unhandled error has occurred. Reload 🗙