2009年07月20日
SQL豆知識【25】
浜松4チ-ムの晶博です。
第25回目のSQLの豆知識としまして
前回同様、複数のテーブルを使用したデータの問い合わせの説明を
行っていきたいと思います。
今回も、自然結合(外部結合)について説明したいと思います。
外部結合には結合の方向によって2種類あります。
・左外部結合
・右外部結合
前回は、『左外部結合』についての説明を行いましたが
今回は、『右外部結合』についての説明を行います。
書式としましては以下の様になります。
≪SQL SERVER≫
SELECT … FROM <テーブル名1>
RIGHT OUTER JOIN <テーブル名2> ON
<テーブル名1>.<列名1> = <テーブル名2>.<列名2>
SELECT … FROM <テーブル名1>,<テーブル名2>
WHERE <テーブル名1>.<列名1> =* <テーブル名2>.<列名2>
≪ORACLE≫
SELECT … FROM <テーブル名1>,<テーブル名2>
WHERE <テーブル名1>.<列名1>(+) = <テーブル名2>.<列名2>
概念図
図1
Oracleでは、WHERE句の結合条件の中で優先しない
テーブルの列名の後ろに『(+)』という記号を指定します。
SQLSERVERでは、RIGHT OUTER JOIN
キーワードによる記述のほかに、
WHERE句に記述された結合条件の記述に
『=*』という記号を指定します。
右外部結合によって結合されなかった行はどの様な扱いになるかといいますと
返される行が無かったからといって返される結果に値がないわけではありません。
『NULL』が格納されています。
ここまでは、左外部結合と同様です。
右外部結合と左外部結合の違いはと言いますと
左外部結合は、左側に指定したテーブルが優先されます。
右外部結合は、右側に指定したテーブルが優先されます。
次回は、『交差結合』の説明を行います。
ブログランキングに参加しています。
---------------------------------------------------------------------------------------------------------------
■ 弊社の事をお知りになりたい方
■ 弊社へ入社希望の方(転職希望の方)
■ その他、ご相談やご連絡を取りたい方は
Posted by JOB CAFE at 07:39│Comments(0)
│SQL