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