<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ユニオンクエリ アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/%E3%83%A6%E3%83%8B%E3%82%AA%E3%83%B3%E3%82%AF%E3%82%A8%E3%83%AA/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/ユニオンクエリ/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Sat, 25 Sep 2021 05:43:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>ユニオンクエリ アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/ユニオンクエリ/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【Access】ユニオンクエリで結合テーブル作成【UNION】</title>
		<link>https://nyanblog2222.com/office/access/3679/</link>
					<comments>https://nyanblog2222.com/office/access/3679/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Mon, 23 Aug 2021 13:17:32 +0000</pubDate>
				<category><![CDATA[Access]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[ユニオンクエリ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=3679</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/30.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/30.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />今回は、テーブルやクエリを結合するユニオンクエリの使い方を紹介します。 SQLが苦手な方は、「小技）SQLが分からなくても大丈夫！ミスなく簡単にユニオンクエリを作成する方法」も合わせてご覧になってください。 目次 ユニオ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3679/">【Access】ユニオンクエリで結合テーブル作成【UNION】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/30.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/30.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/30-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回は、<span class="bold-red">テーブルやクエリを結合するユニオンクエリの使い方</span>を紹介します。</p>



<p>SQLが苦手な方は、<br><span class="marker-under">「小技）SQLが分からなくても大丈夫！ミスなく簡単にユニオンクエリを作成する方法」</span><br>も合わせてご覧になってください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ユニオンクエリとは</a></li><li><a href="#toc2" tabindex="0">基本の使い方（UNION）</a><ol><li><a href="#toc3" tabindex="0">ユニオン画面の開き方</a></li><li><a href="#toc4" tabindex="0">２つのテーブルを結合</a></li><li><a href="#toc5" tabindex="0"> ３つ以上のテーブルを結合</a></li></ol></li><li><a href="#toc6" tabindex="0">基本＋α</a><ol><li><a href="#toc7" tabindex="0">重複レコードの扱い（UNIONとUNION ALL）</a></li><li><a href="#toc8" tabindex="0">絞り込み（Where）</a></li><li><a href="#toc9" tabindex="0">並び替え（ORDER BY）</a></li></ol></li><li><a href="#toc10" tabindex="0">注意：結合するテーブルのフィールドが異なったらどうなるか</a><ol><li><a href="#toc11" tabindex="0">データ型が異なる場合</a></li><li><a href="#toc12" tabindex="0">項目数が異なる場合</a></li><li><a href="#toc13" tabindex="0">項目名が異なる場合</a></li></ol></li><li><a href="#toc14" tabindex="0">小技）SQLが分からなくても大丈夫！ミスなく簡単にユニオンクエリを使う方法</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ユニオンクエリとは</span></h2>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/08/image.png" alt="" class="wp-image-3831" width="393" height="193" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/image.png 786w, https://nyanblog2222.com/wp-content/uploads/2021/08/image-300x147.png 300w, https://nyanblog2222.com/wp-content/uploads/2021/08/image-768x377.png 768w" sizes="(max-width: 393px) 100vw, 393px" /></figure>



<p>ユニオンクエリは、<span class="marker-under-red">テーブルやクエリを結合することができるクエリ</span>です。<br>それ以上でもそれ以下でもありませんが、 使えると非常に便利なクエリです。</p>



<p>例えば、実際の業務では<br>AというテーブルとBというテーブルがあった際に、<br><span class="marker-under-red">途中の処理は違うけど最終的に同じデータの構造にして結合させる</span>とき等に使ったりします。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/08/image-1.png" alt="" class="wp-image-3832" width="356" height="169" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/image-1.png 712w, https://nyanblog2222.com/wp-content/uploads/2021/08/image-1-300x142.png 300w" sizes="(max-width: 356px) 100vw, 356px" /></figure>



<p>テーブルの結合自体は追加クエリ等でも実現できますが、<br>新しくテーブルを作る、もしくは結合元のテーブルに追加して更新してしまう必要があったりと<br><span class="marker-under">テーブルを結合させるだけならユニオンクエリがスマート</span>かと思います。</p>



<h2 class="wp-block-heading"><span id="toc2">基本の使い方（UNION）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">ユニオン画面の開き方</span></h3>



<p>クエリデザイン→ユニオンで、ユニオン画面が開けますので、<br>そこにコードを入れることで使用できます。</p>



<p><span class="bold-red">１．クエリデザインをクリックし、デザインビューを開く</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="400" height="97" src="https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_16-1-29_No-00.jpg" alt="" class="wp-image-3873" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_16-1-29_No-00.jpg 400w, https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_16-1-29_No-00-300x73.jpg 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<p><span class="bold-red">２．ユニオンをクリック</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="509" height="145" src="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-22_16-2-18_No-00.jpg" alt="" class="wp-image-3874" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-22_16-2-18_No-00.jpg 509w, https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-22_16-2-18_No-00-300x85.jpg 300w" sizes="auto, (max-width: 509px) 100vw, 509px" /></figure>



<p><span class="bold-red">３．コード画面が開くので、記述して保存したら使用できるようになる</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="400" height="260" src="https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_17-43-40_No-00.jpg" alt="" class="wp-image-3875" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_17-43-40_No-00.jpg 400w, https://nyanblog2222.com/wp-content/uploads/2021/08/s-SnapCrab_NoName_2021-8-22_17-43-40_No-00-300x195.jpg 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<h3 class="wp-block-heading"><span id="toc4">２つのテーブルを結合</span></h3>



<p>基本的にユニオンクエリでは、<br><span class="marker-under">SELECT句で繋げたいテーブルを呼び出し、UNIONで結合</span>させます。</p>



<p>例えば、テーブル1・2を結合させる場合は以下のように記述します。</p>



<pre class="wp-block-code sql"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2;</code></pre>



<p><span class="bold-red">◆実際のデータ例</span></p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ ユニオンクエリ出力結果 </p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<p>このように結合されます。<br>重複している 社員NO「100001」 は1件になって出力されます。<br>重複も出したい場合については後述します。</p>



<h3 class="wp-block-heading"><span id="toc5"> ３つ以上のテーブルを結合</span></h3>



<p>単純にUNIONを追加していくだけで、3つ以上結合することもできます。</p>



<pre class="wp-block-code sql"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2
UNION SELECT * FROM テーブル3;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>300001</td><td>乾　修</td><td>2001/08/21</td><td>人事課</td></tr></tbody></table><figcaption>テーブル3</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>1</td><td>300001</td><td>乾　修</td><td>2001/08/21</td><td>人事課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc6">基本＋α</span></h2>



<h3 class="wp-block-heading"><span id="toc7">重複レコードの扱い（UNIONとUNION ALL）</span></h3>



<p>先ほど<span class="marker-under">UNIONでは重複レコードは除去される</span>とお伝えしましたが、<br>逆に<span class="marker-under">重複レコードも表示したい場合は、UNION ALL</span>を使います。</p>



<p>使い方は、UNIONをUNION ALLに置き換えるだけです。</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION ALL SELECT * FROM テーブル2;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">絞り込み（Where）</span></h3>



<p>ユニオンクエリは、通常の選択クエリと同様に絞り込みができます。<br>注意点として、<span class="marker-under">絞り込む際はそれぞれのSELECT～に対してWhere句をつける</span>ことです。</p>



<p><span class="bold-blue">★OK例（それぞれにWhere句）</span><br>　例えば、テーブル1から社員NO「100001」、テーブル2から社員NO「200001」を抜き出し結合する場合</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
where 社員NO = 100001
UNION SELECT * FROM テーブル2
where 社員NO = 200001;
</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<p><span class="bold-blue">★NG例（最後にWhere句）</span><br>　例えば、本当は社員NO「100001」「200001」だけを抜き出したい場合</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2
where 社員NO = 100001 OR 社員NO = 200001;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<p>この場合、Where句はテーブル2に適用されるため、テーブル1は全て出力されます。</p>



<h3 class="wp-block-heading"><span id="toc9">並び替え（ORDER BY）</span></h3>



<p>ユニオンクエリは、通常の選択クエリと同様に並び替えができます。<br>注意点として、Where句とは異なり<span class="marker-under">最後にORDER BY句をつけて全体を並び替える</span>ことです。<br>（途中につけてもエラーにはなりませんが並び替えされません）</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2
ORDER BY 生年月日</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc10">注意：結合するテーブルのフィールドが異なったらどうなるか</span></h2>



<p>問題なく実行できる場合もありますが、基本的には合わせるのが無難です。</p>



<h3 class="wp-block-heading"><span id="toc11">データ型が異なる場合</span></h3>



<p>項目のデータ型が異なっている場合でも、テキスト型として結合されます。</p>



<p>例えば、テーブル1のある項目が日付型、テーブル2のある項目がテキスト型だった場合</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>あいうえお</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>かきくけこ</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>さしすせそ</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<p>異なるフィールド（データ型が異なる）</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>1</td><td>100001</td><td>山田　花子</td><td>あいうえお</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>かきくけこ</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>さしすせそ</td><td>経理課</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">項目数が異なる場合</span></h3>



<p>項目数が異なる場合はエラーがでます。</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th><th>性別</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td><td>女</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td><td>男</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td><td>男</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<p>「ユニオン クエリで選択した 2つのテーブルまたはクエリの列数が一致しません。」</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="435" height="112" src="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_Microsoft-Access_2021-8-23_21-35-48_No-00.jpg" alt="" class="wp-image-3881" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_Microsoft-Access_2021-8-23_21-35-48_No-00.jpg 435w, https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_Microsoft-Access_2021-8-23_21-35-48_No-00-300x77.jpg 300w" sizes="auto, (max-width: 435px) 100vw, 435px" /></figure>



<h3 class="wp-block-heading"><span id="toc13">項目名が異なる場合</span></h3>



<p>ユニオンクエリは項目名を見ていないため、問題なく処理できます。</p>



<pre class="wp-block-code"><code>SELECT * FROM テーブル1
UNION SELECT * FROM テーブル2;</code></pre>



<p> <span class="bold-red">◆実際のデータ例</span> </p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>あ</th><th>い</th><th>う</th><th>え</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ユニオンクエリ出力結果</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">小技）SQLが分からなくても大丈夫！ミスなく簡単にユニオンクエリを使う方法</span></h2>



<p>ここまで読んで、SQLを学んだことがない方は、</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-5 sbs-flat sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/themes/cocoon-master/images/ojisan.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Accessの知識だけで出来ないのはややこしいな……。ユニオンクエリって難しいな……</p>
</div></div>



<p>と思う方もいらっしゃるかもしれません。<br>確かに基本レベルのテーブル結合ならともかく、Where句等を使った少し難しいユニオンクエリをやろうとするとSQLの基本知識が必要です。</p>



<p>ただ、次に紹介する方法であれば特にSQLの知識がなくとも使うことができます。</p>



<div class="wp-block-sbd-list"><ol class="sbd-list sbd-list-border"><li>クエリを作成してSQLビューで開き、メモ帳にコピー（;は削除）</li><li>改行してUNION　or UNION ALLを入れる</li><li>クエリを作成してSQLビューで開き、メモ帳にコピー<br>（必要であれば並び替えをする）</li><li>並び替えをする場合は、ORDER BY句の前にあるテーブル名を消す</li><li>メモ帳からユニオンクエリ上にコピーして完成</li></ol></div>



<p>具体的には以下のように作成します。</p>



<p><span class="bold-red">１．クエリを作成してSQLビューで開き、メモ帳にコピー（;は削除）</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="640" height="273" src="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-7_No-00.jpg" alt="" class="wp-image-3882" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-7_No-00.jpg 640w, https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-7_No-00-300x128.jpg 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p>↓SQLビューで開く</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="212" height="347" src="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-53-7_No-00.jpg" alt="" class="wp-image-3883" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-53-7_No-00.jpg 212w, https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-53-7_No-00-183x300.jpg 183w" sizes="auto, (max-width: 212px) 100vw, 212px" /></figure>



<p>↓</p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル1].ID, &#91;テーブル1].社員NO, &#91;テーブル1].氏名, &#91;テーブル1].生年月日, &#91;テーブル1].所属
FROM テーブル1
WHERE (((&#91;テーブル1].社員NO)=100002));</code></pre>



<p>↓「;」を削除し、メモ帳にコピー</p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル1].ID, &#91;テーブル1].社員NO, &#91;テーブル1].氏名, &#91;テーブル1].生年月日, &#91;テーブル1].所属
FROM テーブル1
WHERE (((&#91;テーブル1].社員NO)=100002))</code></pre>



<p><span class="bold-red">２．改行してUNION　or UNION ALLを入れる</span></p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル1].ID, &#91;テーブル1].社員NO, &#91;テーブル1].氏名, &#91;テーブル1].生年月日, &#91;テーブル1].所属
FROM テーブル1
WHERE (((&#91;テーブル1].社員NO)=100002))
UNION</code></pre>



<p><span class="bold-red">３．クエリを作成してSQLビューで開き、メモ帳にコピー（必要であれば並び替えをする）</span></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="640" height="262" src="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-24_No-00.jpg" alt="" class="wp-image-3884" srcset="https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-24_No-00.jpg 640w, https://nyanblog2222.com/wp-content/uploads/2021/08/SnapCrab_NoName_2021-8-23_21-52-24_No-00-300x123.jpg 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p>↓</p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル2].ID, &#91;テーブル2].社員NO, &#91;テーブル2].氏名, &#91;テーブル2].生年月日, &#91;テーブル2].所属
FROM テーブル2
ORDER BY &#91;テーブル2].生年月日;</code></pre>



<p>↓</p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル1].ID, &#91;テーブル1].社員NO, &#91;テーブル1].氏名, &#91;テーブル1].生年月日, &#91;テーブル1].所属
FROM テーブル1
WHERE (((&#91;テーブル1].社員NO)=100002))
UNION
SELECT &#91;テーブル2].ID, &#91;テーブル2].社員NO, &#91;テーブル2].氏名, &#91;テーブル2].生年月日, &#91;テーブル2].所属
FROM テーブル2
ORDER BY &#91;テーブル2].生年月日;</code></pre>



<p><span class="bold-red">４．並び替えをする場合は、ORDER BY句の前にあるテーブル名を消す</span></p>



<p>前述の通り、<span class="marker-under-red">並び替え（ORDER BY）だけは「最後に１つだけ」というルールがある</span>ため全体にORDER BYがかかるように前のテーブル名は削除します。</p>



<pre class="wp-block-code"><code>SELECT &#91;テーブル1].ID, &#91;テーブル1].社員NO, &#91;テーブル1].氏名, &#91;テーブル1].生年月日, &#91;テーブル1].所属
FROM テーブル1
WHERE (((&#91;テーブル1].社員NO)=100002))
UNION
SELECT &#91;テーブル2].ID, &#91;テーブル2].社員NO, &#91;テーブル2].氏名, &#91;テーブル2].生年月日, &#91;テーブル2].所属
FROM テーブル2
ORDER BY 生年月日;</code></pre>



<p><span class="bold-red">５．メモ帳からユニオンクエリ上にコピーして完成</span></p>



<p>出来上がりです。</p>



<p><span class="bold-red">◆実際のデータ例</span></p>



<p>・結合データ</p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr></tbody></table><figcaption>テーブル1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table><figcaption>テーブル2</figcaption></figure>



<p>・ ユニオンクエリ出力結果 </p>



<figure class="wp-block-table"><table><thead><tr><th>ID</th><th>社員NO</th><th>氏名</th><th>生年月日</th><th>所属</th></tr></thead><tbody><tr><td>2</td><td>100002</td><td>田中　太郎</td><td>1999/08/08</td><td>営業課</td></tr><tr><td>2</td><td>200007</td><td>園部　昭</td><td>1999/12/08</td><td>営業課</td></tr><tr><td>1</td><td>100001</td><td>山田　花子</td><td>2001/02/08</td><td>庶務課</td></tr><tr><td>3</td><td>200001</td><td>伊藤　智晴</td><td>2005/05/12</td><td>経理課</td></tr></tbody></table></figure>



<p>これなら、SQLが分からなくても難なくできるかと思います♪</p>
<p>投稿 <a href="https://nyanblog2222.com/office/access/3679/">【Access】ユニオンクエリで結合テーブル作成【UNION】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/office/access/3679/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
