読者です 読者をやめる 読者になる 読者になる

webの勉強!!初心者!脱出マニュアル!!

webの勉強を、初心者から脱出するためのメモを残していきます

Webの勉強~MySQL・PHP~データベースをコマンドプロンプトから実践

こんにちは、メグルです。

 

昨日は、体調不良につきお休みしてしまいました。

 

休みすぎだろ!!

 

っていうのはおいといてw

 

今日もきっとMySQLでしょうね。

 

なんか講師が、セキュリティのことでガタガタ今更言い出してますよ。

 

大切なことなら、最初にマニュアルとか、

決まり事として徹底しとけよ。

 

マジでくそなとこだな。

 

俺の時代はとか、前の会社はとか、

 

そんなのいらねぇよ。

 

朝から気持ちが萎えます。

 

複数の抽出結果を合わせて表示する

select カラム名1 from テーブル名1 union select カラム名2 from テーブル名2;

コードはこう書くんですが、1行で書くと分かりにくいですよね!!

改行しインデントを付けると次のようになります。

  select

     カラム名1

  from

     テーブル名1

union

  select

     カラム名

  from

     テーブル名2;

「select~from~」という2つの結果を、「uion」集めているんです。

 

 

複数のテーブルを結合して表示する(内部結合)

これはDBを使おうと思っている方は必ず使うので、

ここでしっかり覚えちゃいましょう。

「JOIN」について学んでいきましょう。

 

別のテーブルのデータも使って処理する

 

 複数のテーブルを何かのキーで結び付けて処理するのが「結合」なんですね。

リレーショナルデータベースらしいしょりですよね。

実際にWeb上で稼働しているデータベースも、

たくさんのテーブルで構成されています。

「1つの巨大なテーブルだけで処理している」

ことは、まずないですよね。

 

ここまで、テーブル「tb」と「tb1」を扱ってきました。

会社の「売り上げ情報」と「社員情報」を、

分散して管理しているモデルです。

テーブル「tb」で売り上げの処理を行って、

職員の氏名は必要な時にテーブル「tb1」から

引っ張ってくることができるんですね。

 

テーブル「tb」の「bang」が「A101」なのは

年齢40の「佐藤」さんですが、

テーブル「tb」だけだと社員の氏名がわかりません。

そっこで、売上情報テーブル「tb」と社員情報テーブル「tb1」を、

両方に共通の社員番号のカラム「bang」をキーにして

結合して表示してみましょう。

2つのテーブルを結合して使うには、JOINを使うんですね。

 

SELCT カラム名

   FROM テーブル1

JOIN 結合するテーブル2

   ON テーブル1のカラム=テーブル2のカラム;

 

 

ON~に、2つのテーブルを結びつけるキーとなる

カラムの条件を書きます。

例えばテーブル「tb」とテーブル「tb1」なら、

カラム「bang」が共通の値を持っているので、

これを設定します。

「ON テーブル1のカラム=テーブル2のカラム」

の部分で、「〇〇テーブルの××カラム」

という表現はあいだに「.」を付けて「tb.bang」

のように表現します。

この例の場合には、次のようになります。

 

ON tb.bang=tb1.bang

「テーブルtbのカラムbang」と「テーブルtb1のカラムbang」

を一致させるキーにする、ということですね。