📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の4版が非表示) | |||
| 16行目: | 16行目: | ||
<br> | <br> | ||
===== INNER JOIN句の使用方法 ===== | ===== INNER JOIN句の使用方法 ===== | ||
SQL Serverで内部結合するには、INNER JOIN句の前後に結合するテーブルを記述する。 | SQL Serverで内部結合するには、INNER JOIN句の前後に結合するテーブルを記述する。<br> | ||
テーブル名の後にスペースを入れて別名を指定する。 | テーブル名の後にスペースを入れて別名を指定する。<br> | ||
ON句は結合する列を指定する。列はテーブル名の別名を必ず付ける。 | ON句は結合する列を指定する。列はテーブル名の別名を必ず付ける。<br> | ||
<br> | |||
内部結合は、INNER JOIN句を使用せずに、結合条件をWHERE句で記述することもできる。 | 内部結合は、INNER JOIN句を使用せずに、結合条件をWHERE句で記述することもできる。<br> | ||
<br> | <br> | ||
===== サンプルデータ ===== | ===== サンプルデータ ===== | ||
| 67行目: | 67行目: | ||
===== 例1 INNER JOIN句で結合する ===== | ===== 例1 INNER JOIN句で結合する ===== | ||
empテーブルとtokyo_autテーブル、osaka_autテーブルの3つのテーブルをINNER JOIN句で内部結合する。<br> | empテーブルとtokyo_autテーブル、osaka_autテーブルの3つのテーブルをINNER JOIN句で内部結合する。<br> | ||
これら3つのテーブルに、noが存在するレコードであるA001のみ抽出される。 | これら3つのテーブルに、noが存在するレコードであるA001のみ抽出される。<br> | ||
< | <syntaxhighlight lang="sql"> | ||
--INNER JOIN | --INNER JOIN | ||
SELECT e.no, e.name, t.no tokyo, o.no osaka | SELECT e.no, e.name, t.no tokyo, o.no osaka | ||
| 75行目: | 75行目: | ||
JOIN osaka_aut o ON t.no = o.no | JOIN osaka_aut o ON t.no = o.no | ||
WHERE e.no < 'A100'; | WHERE e.no < 'A100'; | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
<center> | <center> | ||
| 87行目: | 87行目: | ||
<br> | <br> | ||
===== 例2 WHERE句で結合する(INNER JOIN句を使用しないパターン) ===== | ===== 例2 WHERE句で結合する(INNER JOIN句を使用しないパターン) ===== | ||
< | <syntaxhighlight lang="sql"> | ||
--INNER JOIN句を使用しない | --INNER JOIN句を使用しない | ||
SELECT e.no, e.name, t.no tokyo, o.no osaka | SELECT e.no, e.name, t.no tokyo, o.no osaka | ||
| 94行目: | 94行目: | ||
AND e.no = t.no | AND e.no = t.no | ||
AND t.no = o.no; | AND t.no = o.no; | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
<center> | <center> | ||
| 173行目: | 173行目: | ||
tokyo_autテーブルは、noがA001とA005のみなので、この2レコードのみ表示される。A010は結合条件に一致しないため表示されない。<br> | tokyo_autテーブルは、noがA001とA005のみなので、この2レコードのみ表示される。A010は結合条件に一致しないため表示されない。<br> | ||
osaka_autテーブルは、noがA001とA002のみなので、この2レコードのみ表示される。A009は結合条件に一致しないため表示されない。<br> | osaka_autテーブルは、noがA001とA002のみなので、この2レコードのみ表示される。A009は結合条件に一致しないため表示されない。<br> | ||
< | <syntaxhighlight lang="sql"> | ||
--LEFT OUTER JOINの結合 | --LEFT OUTER JOINの結合 | ||
SELECT e.no, e.name, t.no tokyo, o.no osaka | SELECT e.no, e.name, t.no tokyo, o.no osaka | ||
| 180行目: | 180行目: | ||
LEFT JOIN osaka_aut o ON e.no = o.no | LEFT JOIN osaka_aut o ON e.no = o.no | ||
WHERE e.no < 'A100'; | WHERE e.no < 'A100'; | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
<center> | <center> | ||
| 217行目: | 217行目: | ||
<br> | <br> | ||
SQL Serverでは、FULL OUTER JOINをFULL JOINと記述してもよい。<br> | SQL Serverでは、FULL OUTER JOINをFULL JOINと記述してもよい。<br> | ||
<br> | |||
===== FULL OUTER JOIN句の使用方法 ===== | |||
SQL Serverで完全外部結合するには、FULL OUTER JOIN句の前後に結合するテーブルを記述する。<br> | |||
テーブル名の後にスペースを入れて別名を指定する。<br> | |||
ON句は、結合する列を指定する。列はテーブル名の別名を必ず付ける。<br> | |||
<br> | |||
===== サンプルデータ ===== | |||
<center> | |||
'''empテーブル'''<br> | |||
{| class="wikitable" | |||
|- | |||
! no !! name | |||
|- | |||
| A001 || 佐藤花子 | |||
|- | |||
| A002 || 田中太郎 | |||
|- | |||
| A003 || 加藤一 | |||
|- | |||
| A004 || 青木花 | |||
|- | |||
| A005 || 藤田学 | |||
|} | |||
</center> | |||
<br> | |||
<center> | |||
'''tokyo_autテーブル''' | |||
{| class="wikitable" | |||
|- | |||
! no | |||
|- | |||
| A001 | |||
|- | |||
| A010 | |||
|} | |||
</center> | |||
<br> | |||
===== 例 FULL OUTER JOIN句で結合する ===== | |||
empテーブルとtokyo_autテーブルをFULL OUTER JOINで完全外部結合する。<br> | |||
empテーブルにしか存在しないレコード、tokyo_autテーブルにしか存在しないレコードも含めて全て抽出される。<br> | |||
<syntaxhighlight lang="sql"> | |||
--FULL JOIN | |||
SELECT e.no, e.name, t.no tokyo | |||
FROM emp e | |||
JOIN tokyo_aut t ON e.no = t.no | |||
WHERE e.no < 'A100' | |||
</syntaxhighlight> | |||
<br> | |||
<center> | |||
{| class="wikitable" | |||
|- | |||
! e.no !! e.name !! tokyo | |||
|- | |||
| A001 || 佐藤花子 || A001 | |||
|- | |||
| A002 || 田中太郎 || | |||
|- | |||
| A003 || 加藤一 || | |||
|- | |||
| A004 || 青木花 || | |||
|- | |||
| A005 || 藤田学 || | |||
|- | |||
| || || A010 | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:SQL_Server]] | [[カテゴリ:SQL_Server]] | ||