MYSQLの OUTERJOIN

OUTER JOIN

■何ができる

左と右があるが、右だけ覚えよう

外部結合ができる..一致しないデータもとってこれる

 

※ここを理解すると、集計結果が正しくとれるようになる。

結合 SQL

内部結合は一致しているものだけ

 

■LEFTとRIGHTがある

LEFTだけ覚えておけばよい!(反転させるだけなので)

LEFTとRIGHTがあり、外部結合のことをさしています。

どっちが基準なのか?を意識すると良い

 

■内容

 

 

■SQLiteの場合

SQLite の場合は左外部結合を行う LEFT OUTER JOIN 句のみ

 

 

LEFT OUTER JOIN

LEFT OUTER JOIN

右を覚えず、左だけ覚えておけば大丈夫。

 

■構文(左

SELECT テーブル名.カラム名, ...

FROM テーブル名1

LEFT OUTER JOIN テーブル名2

ON

テーブル名1.カラム名1 = テーブル名2.カラム名2;

 

テーブル2が基準。

 

 

結合すると、基準となるuserテーブルのデータは、全部取得できています。

 

■事例

SELECT

user_t.id, user_t.name, department_t.name

FROM user_t

LEFT OUTER JOIN department_t

ON

user_t.department_id = department_t.id;

参照>>

 

「user_t」テーブルを基準として結合をする。

FROMの後ろに書いてあるテーブルの、全行取ってくる。

 

※右は覚えなくてよい。

あるんだな~~でよい。

 

RIGHT OUTER JOIN

先ほどと、基準となるテーブルが逆になります。

 

■構文(右

SELECT

user.id, user.name, department_t.name

FROM user_t

RIGHT OUTER JOIN department_t

ON

user_t.department_id = department_t.id;

 

 

RIGHT OUTER JOIN

右側の部署マスタのテーブルが基準になっています。

結合すると...なんか変な状態です^^;

つまり、基準となるテーブルがどこになるか?を意識して書くとよい。

 

■つまり

SELECT (取得するカラム)

FROM テーブル名1

RIGHT OUTER JOIN テーブル名2

ON (結合条件);

こんな感じになっています。

 

まとめ

インナージョインをすると、一致した結果のみになります。

アウタージョインを使うと、特定のテーブルにある、レコードを全件取得ことなどができます。

 

結合 SQL

図にまとめると、こんな感じになります。

 

会社名は一つだが、塾の名前は複数ある場合など、テーブルにOUTER JOINを使いましょう。

 

 

複合主キーの設定

Foreign key constraint for table 'school_t', record 'makio-1' would lead to a duplicate entry in table 'room_t', key 'PRIMARY'

 

UPDATE `school_t` SET `company_id` = '1', `school_id` = 'makio', `room_id` = 'makio_konosu' WHERE `school_id` = 'makio'

Filename: C:/xampp/htdocs/rakutano_zyuku/system/database/DB_driver.php

 

 

■分かった事

insert文は主キーがなければ、上書きしてくれる

主キーの場合は、上書きができない。(できてしまうと色々と困るので)

 

 

 

MYSQLの学習

DBに格納、取り出しをしてくれる部分。データの型を決めるところがまずハマル。この順番で学習できます。

 

■ 設計について■

エンティティの抽出

正規化をしよう

UMLとは何か?

ER図を覚えよう

アンチパターンとは?

GitHubとは

 

■アンチパターン

論理削除

ジェイウォーク(交差テーブルを作らない)

1文字エイリアス

全部小文字

複数列属性(マルチカラムアトリビュート)

パスワード

フラグの闇

 

 

 

 

 

 

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

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

 

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

北海道 [ 北海道 ]

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

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

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

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

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

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

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

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

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

プラスワークでは全国でSEO対策、ホームページ更新、制作をしております。中小企業専門SEO対策・ホームページ更新制作会社、ダイレクト レスポンス マーケティング、ウェブ マーケティング、マーケティング 分析、口コミのよいSEO対策会社をお探しならプラスワークにお任せくださいませ。

 

 

【コンテンツ】

トップへ

更新レスキュー

料金について

制作実績

お客様の声

よくある質問

会社概要

お問い合わせ

【更新レスキュー】

ライトコース

ゴールドコース

プラチナコース

 

【その他】

ニュース

メルマガ登録

特別資料プレゼント

相互リンク募集中

【課題から探す】

ホームページの課題

SEO対策とは

SEO対策がダメな理由

上位表示されない理由

相互リンクとは

順位が落ちてしまう原因

 

 

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