「Database 結合」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Database 結合== [Database][SQL] ===INNER JOIN=== File:0327_join01.jpg =====例===== SELECT * FROM T1 INNER JOIN T2 ON T1.KEY = T2.KEY <blockquote>対…」) |
|||
1行目: | 1行目: | ||
==Database 結合== | ==Database 結合== | ||
− | [Database][SQL] | + | [[Database][SQL]] |
===INNER JOIN=== | ===INNER JOIN=== | ||
[[File:0327_join01.jpg]] | [[File:0327_join01.jpg]] | ||
7行目: | 7行目: | ||
ON T1.KEY = T2.KEY | ON T1.KEY = T2.KEY | ||
− | + | <blockquote>対の行で構成</blockquote> | |
===LEFT OUTER JOIN=== | ===LEFT OUTER JOIN=== | ||
15行目: | 15行目: | ||
ON T1.KEY = T2.KEY | ON T1.KEY = T2.KEY | ||
− | + | <blockquote>対の行、および T1 の対になっていない。各行(※)と T2 のヌル行との連結</blockquote> | |
24行目: | 24行目: | ||
ON T1.KEY = T2.KEY | ON T1.KEY = T2.KEY | ||
− | + | <blockquote>対の行、および T2 の対になっていない各行(※)と T1 のヌル行との連結</blockquote> | |
===外部結合の注意点=== | ===外部結合の注意点=== | ||
− | + | <blockquote>※ ON以下の結合条件に、行の絞込み条件を記述してはいけない。対になっていない各行も出力されるため、絞込み条件は機能しない。</blockquote> | |
====NG==== | ====NG==== | ||
SELECT * FROM T1 LEFT OUTER JOIN T2 | SELECT * FROM T1 LEFT OUTER JOIN T2 | ||
33行目: | 33行目: | ||
AND T1.KEY = '1' | AND T1.KEY = '1' | ||
− | + | <blockquote>T1.KEY1 で絞り込まれてから結合されるのではないため、T1.KEY = '1' の条件は適用されない。</blockquote> | |
====OK==== | ====OK==== |
2020年2月15日 (土) 08:01時点における版
目次
Database 結合
[[Database][SQL]]
INNER JOIN
例
SELECT * FROM T1 INNER JOIN T2 ON T1.KEY = T2.KEY
<blockquote>対の行で構成</blockquote>
LEFT OUTER JOIN
例
SELECT * FROM T1 LEFT OUTER JOIN T2 ON T1.KEY = T2.KEY
<blockquote>対の行、および T1 の対になっていない。各行(※)と T2 のヌル行との連結</blockquote>
RIGHT OUTER JOIN
例
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'
© 2006 矢木浩人