問題

11
SQL

JOIN句、ON句を使ってテーブルを結合させてみよう!

これまで使用してきた家計簿テーブルには、実は問題があります。 本格的にデータベースを活用する場合、「家計簿テーブル」と「費目テーブル」に分けるのがオーソドックスです。 テーブルを分けた場合の結合方法についてしっかり覚えていきましょう。

SQLの問題に挑戦しよう!

問題

JOIN句、ON句を使ってテーブルを結合させてみよう!

はじめに指定のコードを実行してテーブルを2つに分けます。

「家計簿テーブル」と「費目テーブル」を結合して
期待する画面通りに結果を表示させてみましょう。

テーブル結合には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¥
                

期待する画面

解答の画像

解答と解説(JOIN句、ON句を使ってテーブルを結合させてみよう!)

解説

LINE登録して解答を見る

※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます

テーブルを結合させる場合の構文はこのようになります。
SELECT 選択列リスト ※両テーブルの列を指定可能
FROM テーブル1
JOIN テーブル2
ON 両テーブルの結合条件

JOIN句によって家計簿テーブルに費目テーブルが結合され「ID」と「費目名」が参照できるようになります。
また、家計簿テーブルのどの行をつなぐかはON句の結合条件で指定します。

補足

結合は、初心者が特に躓きやすいポイントです。
DBMSがどのように結合処理をするのか、しっかりイメージができるようになれば
よりうまくデータベースを操作できるようになってきます。

さらにスキルアップしたい方は公式LINEから「SQL」と送信すると動画が見れます。

LINE登録して動画を視聴する
あなたに合った学習プランは?LINE適正コース診断はこちら