Webの勉強~MySQL・PHP~データベースをコマンドプロンプトから実践
こんにちは、メグルです。
昨日は、体調不良につきお休みしてしまいました。
休みすぎだろ!!
っていうのはおいといてw
今日もきっとMySQLでしょうね。
なんか講師が、セキュリティのことでガタガタ今更言い出してますよ。
大切なことなら、最初にマニュアルとか、
決まり事として徹底しとけよ。
マジでくそなとこだな。
俺の時代はとか、前の会社はとか、
そんなのいらねぇよ。
朝から気持ちが萎えます。
複数の抽出結果を合わせて表示する
select カラム名1 from テーブル名1 union select カラム名2 from テーブル名2;
コードはこう書くんですが、1行で書くと分かりにくいですよね!!
改行しインデントを付けると次のようになります。
select
カラム名1
from
テーブル名1
union
select
カラム名2
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」
を一致させるキーにする、ということですね。