| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Database 結合

提供: MyMemoWiki
2020年2月16日 (日) 04:23時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

Database 結合

Database | SQL |

INNER JOIN

0327 join01.jpg

SELECT * FROM T1 INNER JOIN T2
ON T1.KEY = T2.KEY

<blockquote>対の行で構成</blockquote>

LEFT OUTER JOIN

0328 join02.jpg

SELECT * FROM T1 LEFT OUTER JOIN T2
ON T1.KEY = T2.KEY

<blockquote>対の行、および T1 の対になっていない。各行(※)と T2 のヌル行との連結</blockquote>


RIGHT OUTER JOIN

0329 join03.jpg

SELECT * FROM T1 RIGHT OUTER JOIN T2
ON T1.KEY = T2.KEY

<blockquote>対の行、および T2 の対になっていない各行(※)と T1 のヌル行との連結</blockquote>

外部結合の注意点

<blockquote>※ ON以下の結合条件に、行の絞込み条件を記述してはいけない。対になっていない各行も出力されるため、絞込み条件は機能しない。</blockquote>

NG

SELECT * FROM T1 LEFT OUTER JOIN T2	
ON T1.KEY = T2.KEY
AND T1.KEY = '1'

<blockquote>T1.KEY1 で絞り込まれてから結合されるのではないため、T1.KEY = '1' の条件は適用されない。</blockquote>

OK

SELECT * FROM T1 LEFT OUTER JOIN T2			
ON T1.KEY = T2.KEY		
WHERE 		
T1.KEY = '1'