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

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

結合の種類

テーブルの結合には、2種類の書き方があります。
1つがjoin句を使った結合、2つ目がテーブル『,』で区切り、条件をWHERE句でつける書き方です。

JOIN句を使った例

SELECT h.hogeColumn,hu.hugaColumn
FROM hogeTable AS h JOIN hugaTable AS hu
ON h.hogeID = hu.hogeTD;

『,』で区切った結合の例

SELECT h.hogeColumn,hu.hugaColumn
FROM hogeTable AS h,hugaTable hu
WHERE h.hogeID = hu.hogeID;

このような2通りの書き方がありますが、結果は両方とも同じとなります。

この2つの違いとして、JOIN句を使った場合は必ずON句を使って結合条件を書かなければいけないのに対し、『,』で区切った書き方では必ず結合条件を書くという必要はありません。
この結合条件を書かなかった場合の結合をクロス結合、直積といったりします。結果はすべてのレコードの総当たりが出てきます。
仮にレコードが50行、300行、100行といったテーブルで直積をしたらどれだけ結果が出るんでしょうね。あとで実戦してみたいと思います!

結合と副問い合わせという複数のテーブルを扱ったSQL文は業務では必ずといっていいほど使うそうなので、しっかりと使えるよう覚えていきたいです。
また今後はもっと複雑な結合方法も出てくるそうなので尚更しっかりと覚えておかねば!
個人的には副問い合わせが少し苦手なので復習をしっかりしておこうと思います・・。

( 08/07/15 irisawa追記)

お待たせしました。動画上がりました。

1 件のコメント so far »

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

     

    [...] muroiです。 今日のデータベースの研修では、結合の続きの学習をしました。以下リンクが前回の内容となります。 データベース テーブルの結合 データベース テーブルの結合2 [...]

Comment RSS · TrackBack URI

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree