データベース テーブルの結合

uchiumiです。
今日のデータベースはテーブルに別名をつけられるということと、テーブルの結合について学びました。

テーブルに別名をつける

テーブル名に別名をつけると、

SELECT t.カラム名
FROM テーブル名 AS t;

このように短く書けるようになります。
また、上の例の様な場合はテーブル名を指定しなくても大丈夫ですが、分かりやすく書く為にも、カラム名の前にはテーブル名を書いておいた方が良いとのことでした。
確かに短くなって書きやすいし読みやすくなると思います。これは使っていきたいと思いました。
しかし短くしすぎても逆にわからなくなりそうなので、こういったところでも名前をつけるというのは難しいところだと感じました。

結合

結合とは、複数あるテーブルをある列の値に基づいて1つの結果にまとめることです。
今日はその結合のやり方について、主にJOIN句を使った書き方と、WHERE句を使った書き方について学びました。

JOIN句を使う

SELECT テーブル1.ID,テーブル2.name
FROM  テーブル1JOIN テーブル2 ON テーブル1.ID = テーブル2.ID;

WHERE句を使う

SELECT テーブル1.ID,テーブル2.name
FROM  テーブル1 , テーブル2
WHERE テーブル1.ID = テーブル2.ID;

また今日はGROP BYについても少し学びました。
もし都道府県IDでグループ化した都道府県名を知りたいとしたら、

SELECT  都道府県ID,都道府県名
FROM テーブル名
GROUP BY 都道府県ID,都道府県名;

と書かなければなりません。
グループ化したとき、SELECT句には集合関数以外はグループ化したカラムしかかけないからです。
IDに対して項目が一定のものだったりすると、GROUP BY句に書かなくても使えるんじゃないかと思ってしまい、うっかり書き忘れてしまうことがよくあったので、
ここらへんは常に気をつけなければならないなと感じました。

以上になります。
今回は、前回の副問い合わせよりもわかりやすいと感じました。
副問い合わせとJOINは、ほとんど同じ結果を出せるとのことでしたが、副問い合わせの方がよかったりすることもあるみたいなので、それらの使い分けもいずれできるようになりたいと思います。

—-
(2008/07/15 18:26 hirafuji追記)
動画をご覧下さい〜!

2 件のコメント so far »

  1. by スタートアップ研修記 » データベース テーブル結合2, on 07.11.08 @ 5:25 PM

     

    [...] muroiです。 今日のデータベースの研修では前回の内容に引き続き、テーブルの結合について学習しました。 [...]

  2. by スタートアップ研修記 » データベース テーブルの結合3, on 07.14.08 @ 6:53 PM

     

    [...] データベース テーブルの結合 [...]

Comment RSS · TrackBack URI

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree