
問題11:JOIN句、ON句を使ってテーブルを結合させてみよう!
はじめに指定のコードを実行してテーブルを2つに分けます。
「家計簿テーブル」と「費目テーブル」を結合して
期待する画面通りに結果を表示させてみましょう。
テーブル結合にはJOIN句とON句を使用します。
「家計簿テーブル」と「費目テーブル」を結合して
期待する画面通りに結果を表示させてみましょう。
テーブル結合にはJOIN句とON句を使用します。
あらかじめエディタに書くコード
USE ninjacode;
DROP TABLE 家計簿;
DROP TABLE 費目;
CREATE TABLE 家計簿 (日付 INT, 費目ID INT, 収入 INT, 支出 INT, 詳細 VARCHAR(255));
CREATE TABLE 費目 (ID INT, 費目名 VARCHAR(20));
INSERT INTO 家計簿
(日付, 費目ID, 収入, 支出, 詳細)
VALUES
(20221205, 1, 0, 80000, '10月分'),
(20221205, 2, 0, 10000, '電気・ガス10月分'),
(20221210, 3, 0, 6000, '恋人とレストラン'),
(20221216, 4, 0, 1400, '一人ランチ'),
(20221224, 3, 0, 8000, 'テーマパークへ行った'),
(20221225, 5, 250000, 0, '11月分');
INSERT INTO 費目
(ID, 費目名)
VALUES
(1, '家賃'),
(2, '光熱費'),
(3, '交際費'),
(4, '食費'),
(5, '給料');
¥SQL¥
期待する画面

解答ソースコード
USE ninjacode;
SELECT 日付, 費目名, 詳細, 収入, 支出
FROM 家計簿
JOIN 費目
ON 家計簿.費目ID = 費目.ID
¥SQL¥
補足
結合は、初心者が特に躓きやすいポイントです。
DBMSがどのように結合処理をするのか、しっかりイメージができるようになれば
よりうまくデータベースを操作できるようになってきます。
DBMSがどのように結合処理をするのか、しっかりイメージができるようになれば
よりうまくデータベースを操作できるようになってきます。
#忍者CODE無料問題集で活動を記録しよう
完了にする!
SELECT 選択列リスト ※両テーブルの列を指定可能
FROM テーブル1
JOIN テーブル2
ON 両テーブルの結合条件
JOIN句によって家計簿テーブルに費目テーブルが結合され「ID」と「費目名」が参照できるようになります。
また、家計簿テーブルのどの行をつなぐかはON句の結合条件で指定します。