他方のテーブルに無いレコードの抽出 - PHPプロ!Q&A掲示板

4924

  • 0P

他方のテーブルに無いレコードの抽出

質問日時 / 2018年2月17日 04:26    回答数 / 3件

Questioner:  twtnb  このエントリーをはてなブックマークに追加 

キーワード / キーワードが設定されていません

「left join」 だと他方に無いレコードが抽出されるのに 「right join」だと抽出されないのは、なぜでしょうか?
  1. select * from マスタ left join 計画 on (マスタ.cd = 計画.cd) where 計画.cd is null

  1. select * from 計画 right join マスタ on (計画.cd = マスタ.cd ) where 計画.cd is null

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shimixRDBMSは何ですか(というかphpの質問じゃなくてRDBMS
┗A02kamataleft joinが外部結合の動きをしてrhght joinが内部結
 ┗A02-1twtnbありがとうございました。 MySQLです。 想定し

回答一覧

並び替え:

A01
answerershimix [2月19日 11:04]

RDBMSは何ですか(というかphpの質問じゃなくてRDBMSの質問ですよね)。RDBMSが何なのかを書いていただかないと検証ができません。

ちなみに手元のMySQL(xamppなので正確にはMariaDB)では、right join で質問者さんの期待しているであろう内容が抽出できました。

この意見に回答する

ツリーへ TOPへ

A02
answererkamata [2月19日 11:41]

left joinが外部結合の動きをしてrhght joinが内部結合の動きをした、ということです。
joinは実装名ですが概念はテーブル結合で理解した方が個々のデータベースにとらわれない知識が身につきます。
難しい概念ではないので是非「テーブル結合」でググッてみてください。

この意見に回答する

ツリーへ TOPへ

A02-1
replyertwtnb [2月19日 19:18]

ありがとうございました。

MySQLです。

想定した結合の動きをしていない感じです。

もうすこし、学習してみます。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)