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

MyMemoWiki

「Database 結合」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
 
==[[Database 結合]]==
 
==[[Database 結合]]==
 
[[Database]] | [[SQL]] |  
 
[[Database]] | [[SQL]] |  
===INNE[[R]] JOIN===
+
===INNER JOIN===
 
[[File:0327_join01.jpg]]
 
[[File:0327_join01.jpg]]
 
=====例=====
 
=====例=====
  SELECT * F[[R]]OM T1 INNE[[R]] JOIN T2
+
  SELECT * FROM T1 INNER JOIN T2
 
  ON T1.KEY = T2.KEY
 
  ON T1.KEY = T2.KEY
  
 
<blockquote>対の行で構成</blockquote>
 
<blockquote>対の行で構成</blockquote>
  
===LEFT OUTE[[R]] JOIN===
+
===LEFT OUTER JOIN===
 
[[File:0328_join02.jpg]]
 
[[File:0328_join02.jpg]]
 
=====例=====
 
=====例=====
  SELECT * F[[R]]OM T1 LEFT OUTE[[R]] JOIN T2
+
  SELECT * FROM T1 LEFT OUTER JOIN T2
 
  ON T1.KEY = T2.KEY
 
  ON T1.KEY = T2.KEY
  
18行目: 18行目:
  
  
===[[R]]IGHT OUTE[[R]] JOIN===
+
===RIGHT OUTER JOIN===
 
[[File:0329_join03.jpg]]
 
[[File:0329_join03.jpg]]
 
=====例=====
 
=====例=====
  SELECT * F[[R]]OM T1 [[R]]IGHT OUTE[[R]] JOIN T2
+
  SELECT * FROM T1 RIGHT OUTER JOIN T2
 
  ON T1.KEY = T2.KEY
 
  ON T1.KEY = T2.KEY
  
29行目: 29行目:
 
<blockquote>※ ON以下の結合条件に、行の絞込み条件を記述してはいけない。対になっていない各行も出力されるため、絞込み条件は機能しない。</blockquote>
 
<blockquote>※ ON以下の結合条件に、行の絞込み条件を記述してはいけない。対になっていない各行も出力されるため、絞込み条件は機能しない。</blockquote>
 
====NG====
 
====NG====
  SELECT * F[[R]]OM T1 LEFT OUTE[[R]] JOIN T2
+
  SELECT * FROM T1 LEFT OUTER JOIN T2
 
  ON T1.KEY = T2.KEY
 
  ON T1.KEY = T2.KEY
 
  AND T1.KEY = '1'
 
  AND T1.KEY = '1'
36行目: 36行目:
  
 
====OK====
 
====OK====
  SELECT * F[[R]]OM T1 LEFT OUTE[[R]] JOIN T2
+
  SELECT * FROM T1 LEFT OUTER JOIN T2
 
  ON T1.KEY = T2.KEY
 
  ON T1.KEY = T2.KEY
  WHE[[R]]E
+
  WHERE
 
  T1.KEY = '1'
 
  T1.KEY = '1'

2022年5月19日 (木) 15:08時点における版

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'