MySQLでjoinを使おう

結合について

samuraiblogさんの、平山さんの記事が分かりやすいです。データ入力の部分をコピペができるので学習がはかどります!!

参照はこちら>>

 

【join】

テーブルに入っている列、値を整形して取り出す事ができるので、便利です。

 

【おすすめの学習方法】

学習する場合は、実際に手を動かして、表示結果を確認すると良いです!!

座学だけだと身につきずらいと感じました。

 

・結合できる

・別名をつける事ができる

・usingを利用できる

・JOIN・・・内部結合。結合的なかった行は返しません。

・LEFT JOINとRIGHT JOINは外部結合

 

結合の方法

JOIN・・・内部結合。結合的なかった行は返しません。

 

基準にする「テーブル1のカラム」の後ろに、「テーブル2のカラム」を連結させる事ができる。

 

SELECT *
FROM monthly_sales
JOIN employee_name_entry_year
ON monthly_sales.id = employee_name_entry_year.id;

 

SELECT テーブル1から抽出するカラム
FROM 基準にしたいテーブル1の名前
JOIN 結合させたいテーブル2の名前
ON テーブル1の名前.基準にするカラム名 = テーブル2の名前.基準にするカラム名;

 

 

 

1「monthly_sales」月の売上テーブル

2.「employee_name_entry_year」従業員の名前と入社した年テーブル

 

を連結しています。

 

 

SELECT * FROM employee_name_entry_year
JOIN monthly_sales
ON employee_name_entry_year.id = monthly_sales.id;

 

と書くと

 

【表示結果】

 

このように、今度は逆の順番で結合されます。

 

 

注意点

書き方に少し注意が必要です。

 

ON monthly_sales.id = employee_name_entry_year.id;

 

「monthly_sales.id 」

「employee_name_entry_year.id」

 

と書いてあります。

これは、

 

manthly_salesテーブル(毎月の売上げテーブル)の「id」のカラム(縦列)と

employee_name_entry_yearテーブル(従業員の名前、入社した年)の「id」カラムを連結する。

 

という意味になります。

 

毎月の売上げテーブルの後に、従業員の名前と入所した年を連結させますよ~

 

という意味になるわけです。

以上、説明でした。

 

共通のidがあるので「USING」を使おう

SELECT *
FROM monthly_sales
JOIN employee_name_entry_year
USING(id);

 

テーブルに共通した「id」というカラムがあるので、簡単にすることができます。

 

【表示結果】

 

 

長すぎるテーブル名を省略したい

SELECT *
FROM monthly_sales AS x
JOIN employee_name_entry_year AS y
ON x.id = y.id;

 

monthly_salesを「x」

employee_name_entry_yearを「y」

 

にしています。 

これにより,

JOIN以下がかなり短く書くことができます。

 

左外部結合

LEFT JOINとRIGHT JOINは外部結合になります。

マッチングしていなくても、無理やり表示できます。一部のレコードはNULLになっても関係なく、取り出します。

参照はこちら>>

 

全データを表示する範囲を左側にするか、右側にするかということです。

左なら、「左外部結合」

右なら、「右外部結合」と言います。

 

SELECT x.id, y.name AS 名前
FROM monthly_sales AS x
LEFT JOIN employee_name_entry_year AS y
USING(id)

 

SELECT 必要なカラム
FROM テーブル1(左側)
LEFT JOIN テーブル2(右側)
USING(結合に使うカラム名);

 

FROMにセットされるテーブルが左側

LEFT JOINにセットされるのが右側のテーブルになります。

 

左側と右側を入れかえたプログラムを作ば、書き変えたものができます。

 

 

開発の案件、SEOについては、ぜひご相談くださいませ。

 

 

コードイグナイターの勉強方法

 

■ フレームワーク ■

フレームワークは何を使ったらいいのか?

ララベルとは?

コードイグナイターとは?

オートロードとは

無名関数とは?

MVCとは何か?

 

■ オブジェクト指向■

クラス・インスタンス・プロパティ

オブジェクト指向とは?

 

 

 

 

この記事を読んだ人は、こんな記事も読んでいます

 

SEO対策の基本 外部要因とは?

SEO対策の基本的である、外部要因とは何か?

SEO対策をするなら絶対に知っておきたい、基本知識です。

 

売れるサイトを作るのに知って起きたい知識

サーチエンジンマーケティングという言葉をご存知でしょうか?

ホームページで商品やサービスを売る時に知っておきたいマーケティング

についてご紹介いたします。

seo対策をするメリットとは

SEO対策をする5つのメリットとは?

なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか

についてご紹介させていただきます。

 

内部要因とは

SEO対策の内部要因とは?

上位表示させるためには、内部要因について知っておくことも大事です。

キーワードを上位表示させるために必要なのは、ソースコードを最適化することです

内部要因の対策について知りたい方はこちらへ

 

キーワード対策をするまえに

キーワード対策をする前に

そのキーワード対策。ちょっと待ってください。

そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は

そんな大きなキーワードで対策をしてはいけません。

広告費用が高くなる理由とは

広告費用が高くなる本当の理由とは?

売れないサイトに集めていませんか?広告費用がかかるわりには

お問い合わせが少ない・・・と感じる方は多いはずです。

購入率の悪いサイトに集客をしている可能性があります。

 

 

 

 

【SEO対策・webコンサルティングのプラスワーク対応エリアについて】

プラスワークでは、東京、神奈川、千葉、埼玉を中心に全国でwebコンサルティング、SEO対策、ホームページの更新、ホームページのリニューアル運営代行をしております。売上アップをお考えならお気軽にご相談ください。

 

【SEO対策・webコンサルティングのプラスワーク 対応地域】

北海道 [ 北海道 ]

東北  [ 青森 | 岩手 | 山形 | 福島 | 秋田 | 宮城 ]

関東  [ 東京 | 埼玉 | 千葉 | 茨城 | 栃木 | 群馬 | 神奈川 ]

甲信越 [ 山梨 | 長野 | 新潟 ]

北陸  [ 石川 | 福井 | 富山 ]

東海  [ 愛知 | 静岡 | 岐阜 | 三重 ]

近畿  [ 大阪 | 兵庫 | 京都 | 滋賀 | 奈良 | 和歌山 ]

中国  [ 島根 | 山口 |鳥取 | 広島 | 岡山 ]

四国  [ 徳島 | 香川 | 愛媛 | 高知 ]

九州  [ 福岡 | 佐賀 | 長崎 | 熊本 | 大分 | 宮崎 | 鹿児島 ]

プラスワークでは全国でSEO対策、ホームページ更新、制作をしております。中小企業専門SEO対策・ホームページ更新制作会社、口コミのよいSEO対策会社をお探しならプラスワークにお任せくださいませ。

 

 

【コンテンツ】

トップへ

更新レスキュー

料金について

制作実績

お客様の声

よくある質問

会社概要

お問い合わせ

【更新レスキュー】

ライトコース

ゴールドコース

プラチナコース

 

【その他】

ニュース

メルマガ登録

特別資料プレゼント

相互リンク募集中

【課題から探す】

ホームページの課題

SEO対策とは

SEO対策がダメな理由

上位表示されない理由

相互リンクとは

順位が落ちてしまう原因

 

 

フェイスブック  ツイッター