<?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>SQL &#8211; CFXLOG</title>
	<atom:link href="https://cfxlog.com/category/sql/feed/index.xml" rel="self" type="application/rss+xml" />
	<link>https://cfxlog.com/</link>
	<description></description>
	<lastBuildDate>Wed, 11 Nov 2026 22:25:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://cfxlog.com/wp-content/uploads/2026/07/cfxlog-favicon-150x150.png</url>
	<title>SQL &#8211; CFXLOG</title>
	<link>https://cfxlog.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【SQL】SELECT でデータ取得するための基礎講座</title>
		<link>https://cfxlog.com/sql-select-basics/</link>
		
		<dc:creator><![CDATA[CFXLOG]]></dc:creator>
		<pubDate>Sat, 10 Jan 2026 15:00:00 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://cfxlog.com/?p=4925</guid>

					<description><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-select-basics.jpg" class="webfeedsFeaturedVisual" /></p>このような方に向けて書きました。 SQL 操作の中でも「基本」かつ「最重要」なのが今回ご紹介するSELECT文です。 データベースからデータを取得してくるクエリで、単にデータを取得してくるほか条件や並び替え、集計などを行 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-select-basics.jpg" class="webfeedsFeaturedVisual" /></p>
<div class="wp-block-group is-style-crease"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>SQL でデータを取得したい！</li>



<li>できればちょっと複雑な条件で取得したい。</li>
</ul>
</div></div>



<p class="wp-block-paragraph">このような方に向けて書きました。</p>



<p class="wp-block-paragraph">SQL 操作の中でも「基本」かつ「最重要」なのが今回ご紹介する<code>SELECT</code>文です。</p>



<p class="wp-block-paragraph">データベースからデータを取得してくるクエリで、単にデータを取得してくるほか条件や並び替え、集計などを行うことができます。</p>



<p class="wp-block-paragraph">必ずマスターすべきクエリの一つなので、一つずつ丁寧に確認していきましょう！</p>



<div id="rtoc-mokuji-wrapper" class="rtoc-mokuji-content frame2 preset5 animation-fade rtoc_open default" data-id="4925" data-theme="SWELL CHILD">
			<div id="rtoc-mokuji-title" class=" rtoc_left">
			<button class="rtoc_open_close rtoc_open"></button>
			<span>目次</span>
			</div><ol class="rtoc-mokuji mokuji_ol level-1"><li class="rtoc-item"><a href="#rtoc-1">SELECT 文の基本</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-2">基本構文</a></li><li class="rtoc-item"><a href="#rtoc-3">すべての行を取得</a></li><li class="rtoc-item"><a href="#rtoc-4">特定の列を取得</a></li><li class="rtoc-item"><a href="#rtoc-5">条件に一致する行を取得</a></li><li class="rtoc-item"><a href="#rtoc-6">データをグループ化して集計</a></li><li class="rtoc-item"><a href="#rtoc-7">集計データに条件をつける場合</a></li><li class="rtoc-item"><a href="#rtoc-8">データを並び替える</a></li><li class="rtoc-item"><a href="#rtoc-9">取得する行数を制限</a></li><li class="rtoc-item"><a href="#rtoc-10">複雑なクエリの例</a></li></ul></li><li class="rtoc-item"><a href="#rtoc-11">まとめ：SELECT 文を理解してSQLの超基本をマスターしよう！</a></li></ol></div><h2 id="rtoc-1"  class="wp-block-heading">SELECT 文の基本</h2>



<p class="wp-block-paragraph">データベースからデータを取得する時に使うのが<code>SELECT</code>文です。</p>



<h3 id="rtoc-2"  class="wp-block-heading">基本構文</h3>



<p class="wp-block-paragraph">基本構文は以下の通りです。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT 列1, 列2, ...
FROM テーブル名
WHERE 条件
GROUP BY 列1
HAVING 集計条件
ORDER BY 列1
LIMIT 件数 OFFSET オフセット;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> 列1, 列2, ...</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> テーブル名</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> 条件</span></span>
<span class="line"><span style="color: #569CD6">GROUP BY</span><span style="color: #D4D4D4"> 列1</span></span>
<span class="line"><span style="color: #569CD6">HAVING</span><span style="color: #D4D4D4"> 集計条件</span></span>
<span class="line"><span style="color: #569CD6">ORDER BY</span><span style="color: #D4D4D4"> 列1</span></span>
<span class="line"><span style="color: #569CD6">LIMIT</span><span style="color: #D4D4D4"> 件数 OFFSET オフセット;</span></span></code></pre></div>



<p class="wp-block-paragraph">それぞれの句を詳しく説明すると、以下の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>句</th><th>効果</th></tr></thead><tbody><tr><td>SELECT</td><td>取得する列を指定<br>全列取得には<code>*</code>を使用</td></tr><tr><td>FROM</td><td>取得するテーブルを指定</td></tr><tr><td>WHERE</td><td>取得条件を指定</td></tr><tr><td>GROUP BY</td><td>特定の列でグループ化</td></tr><tr><td>HAVING</td><td>GROUP BYのデータに条件指定</td></tr><tr><td>ORDER BY</td><td>特定の列で並び替える</td></tr><tr><td>LIMIT</td><td>取得する行数を制限</td></tr></tbody></table><figcaption class="wp-element-caption">句の説明</figcaption></figure>



<h3 id="rtoc-3"  class="wp-block-heading">すべての行を取得</h3>



<p class="wp-block-paragraph">すべての行を取得するクエリはシンプルです。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT *
FROM employees;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> *</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees;</span></span></code></pre></div>



<p class="wp-block-paragraph"><code>employees</code>テーブルからすべての列のデータを取得します。</p>



<p class="wp-block-paragraph"><code>SELECT</code>はデータベースからデータを選択するために使います。</p>



<p class="wp-block-paragraph">さらにすべての列を表す<code>*</code>（アスタリスク）を使うことで、<code>SELECT</code>の対象がすべての行になります。</p>



<h3 id="rtoc-4"  class="wp-block-heading">特定の列を取得</h3>



<p class="wp-block-paragraph">特定の列だけを抽出する場合、<code>SELECT</code>にの後に取得したい列名を続けます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT name, age
FROM employees;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees;</span></span></code></pre></div>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">元々、<code>employees</code>テーブルが次のようなものだったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>30</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>28</td><td>Designer</td><td>55000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th></tr></thead><tbody><tr><td>Alice</td><td>30</td></tr><tr><td>Bob</td><td>25</td></tr><tr><td>Carol</td><td>28</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>
</div></div>



<h3 id="rtoc-5"  class="wp-block-heading">条件に一致する行を取得</h3>



<p class="wp-block-paragraph">条件の指定は<code>WHERE</code>句に書きます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT name, age
FROM employees
WHERE age > 30;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> age &gt; </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">上記では、<code>employees</code>テーブルから<code>age</code>列の値が<code>30</code>より大きい異形の<code>name</code>と<code>age</code>列のデータだけを取得します。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが次のようだったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>30</td><td>Tester</td><td>50000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下です。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th></tr></thead><tbody><tr><td>Alice</td><td>35</td></tr><tr><td>Carol</td><td>40</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>
</div></div>



<h3 id="rtoc-6"  class="wp-block-heading">データをグループ化して集計</h3>



<p class="wp-block-paragraph"><code>GROUP BY</code>では、指定した列を基準として集計が行えます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT department, COUNT(*)
FROM employees
GROUP BY department;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> department, </span><span style="color: #DCDCAA">COUNT</span><span style="color: #D4D4D4">(*)</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">GROUP BY</span><span style="color: #D4D4D4"> department;</span></span></code></pre></div>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>HR</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>30</td><td>HR</td><td>Tester</td><td>50000</td></tr><tr><td>5</td><td>Eve</td><td>28</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>department</th><th>COUNT(*)</th></tr></thead><tbody><tr><td>HR</td><td>2</td></tr><tr><td>IT</td><td>2</td></tr><tr><td>Sales</td><td>1</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>



<p class="wp-block-paragraph">つまり<code>employees</code>テーブルから各部門ごとに従業員の数をカウントし、各部門名と従業員数を取得します。</p>
</div></div>



<h3 id="rtoc-7"  class="wp-block-heading">集計データに条件をつける場合</h3>



<p class="wp-block-paragraph"><code>GROUP BY</code>の条件指定には<code>HAVING</code>を使います。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> department, </span><span style="color: #DCDCAA">COUNT</span><span style="color: #D4D4D4">(*)</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">GROUP BY</span><span style="color: #D4D4D4"> department</span></span>
<span class="line"><span style="color: #569CD6">HAVING</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">COUNT</span><span style="color: #D4D4D4">(*) &gt; </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>HR</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>30</td><td>HR</td><td>Tester</td><td>50000</td></tr><tr><td>5</td><td>Eve</td><td>28</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr><tr><td>6</td><td>Frank</td><td>32</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>7</td><td>Grace</td><td>29</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>8</td><td>Heidi</td><td>27</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>9</td><td>Ivan</td><td>26</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>10</td><td>Judy</td><td>31</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">以下がクエリの実行結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>department</th><th>COUNT(*)</th></tr></thead><tbody><tr><td>IT</td><td>6</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>



<p class="wp-block-paragraph">このように、<code>employees</code>テーブルから各部門ごとに従業員の数をカウントし、その結果が<code>5</code>より多い部門だけが取得されます。</p>



<p class="wp-block-paragraph">今回は5より大きいのは<code>IT</code>のみなので、このような結果になりました。</p>
</div></div>



<h3 id="rtoc-8"  class="wp-block-heading">データを並び替える</h3>



<p class="wp-block-paragraph">データの並び替えには<code>ORDER BY</code>を使います。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT name, age
FROM employees
ORDER BY age DESC;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">ORDER BY</span><span style="color: #D4D4D4"> age </span><span style="color: #569CD6">DESC</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">高い順（降順）に並び替える場合には<code>DESC</code>を、低い順（昇順）に並び替える場合には<code>ASC</code>を使います。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>HR</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>30</td><td>HR</td><td>Tester</td><td>50000</td></tr><tr><td>5</td><td>Eve</td><td>28</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">以下がクエリの実行結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th></tr></thead><tbody><tr><td>Carol</td><td>40</td></tr><tr><td>Alice</td><td>35</td></tr><tr><td>Dave</td><td>30</td></tr><tr><td>Eve</td><td>28</td></tr><tr><td>Bob</td><td>25</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>



<p class="wp-block-paragraph"><code>employees</code>テーブルから<code>name</code>と<code>age</code>列のデータを取得し、<code>age</code>列の値が高い順に並べ替えた結果が出力されます。</p>
</div></div>



<h3 id="rtoc-9"  class="wp-block-heading">取得する行数を制限</h3>



<p class="wp-block-paragraph">ページネーションをする場合やデータの一部だけ取得してパフォーマンスを上げたい場合などに便利なのが<code>LIMIT</code>というクエリです。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT name, age
FROM employees
LIMIT 10;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">LIMIT</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>HR</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>25</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>30</td><td>HR</td><td>Tester</td><td>50000</td></tr><tr><td>5</td><td>Eve</td><td>28</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr><tr><td>6</td><td>Frank</td><td>32</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>7</td><td>Grace</td><td>29</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>8</td><td>Heidi</td><td>27</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>9</td><td>Ivan</td><td>26</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>10</td><td>Judy</td><td>31</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr><tr><td>11</td><td>Kevin</td><td>33</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>12</td><td>Laura</td><td>24</td><td>HR</td><td>Assistant</td><td>40000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">以下がクエリの実行結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th></tr></thead><tbody><tr><td>Alice</td><td>35</td></tr><tr><td>Bob</td><td>25</td></tr><tr><td>Carol</td><td>40</td></tr><tr><td>Dave</td><td>30</td></tr><tr><td>Eve</td><td>28</td></tr><tr><td>Frank</td><td>32</td></tr><tr><td>Grace</td><td>29</td></tr><tr><td>Heidi</td><td>27</td></tr><tr><td>Ivan</td><td>26</td></tr><tr><td>Judy</td><td>31</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>



<p class="wp-block-paragraph"><code>employees</code>テーブルから<code>name</code>と<code>age</code>列のデータを取得し、その中から最初の10行までのデータが返されます。</p>
</div></div>



<h3 id="rtoc-10"  class="wp-block-heading">複雑なクエリの例</h3>



<p class="wp-block-paragraph">複雑なクエリの例を示します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT department, AVG(salary)
FROM employees
WHERE age > 30
GROUP BY department
HAVING AVG(salary) > 50000
ORDER BY AVG(salary) DESC
LIMIT 5 OFFSET 10;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> department, </span><span style="color: #DCDCAA">AVG</span><span style="color: #D4D4D4">(salary)</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> age &gt; </span><span style="color: #B5CEA8">30</span></span>
<span class="line"><span style="color: #569CD6">GROUP BY</span><span style="color: #D4D4D4"> department</span></span>
<span class="line"><span style="color: #569CD6">HAVING</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">AVG</span><span style="color: #D4D4D4">(salary) &gt; </span><span style="color: #B5CEA8">50000</span></span>
<span class="line"><span style="color: #569CD6">ORDER BY</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">AVG</span><span style="color: #D4D4D4">(salary) </span><span style="color: #569CD6">DESC</span></span>
<span class="line"><span style="color: #569CD6">LIMIT</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4"> OFFSET </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">このクエリは、30歳以上の従業員のデータから、部門ごとの平均給与を計算し、平均給与が50,000を超える部門を取得し、給与の高い順に並べ替え、11番目から15番目までの部門を取得します。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>Alice</td><td>35</td><td>HR</td><td>Manager</td><td>70000</td></tr><tr><td>2</td><td>Bob</td><td>45</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>3</td><td>Carol</td><td>40</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>4</td><td>Dave</td><td>32</td><td>HR</td><td>Tester</td><td>50000</td></tr><tr><td>5</td><td>Eve</td><td>38</td><td>Sales</td><td>Sales Rep</td><td>45000</td></tr><tr><td>6</td><td>Frank</td><td>42</td><td>IT</td><td>Developer</td><td>65000</td></tr><tr><td>7</td><td>Grace</td><td>29</td><td>IT</td><td>Designer</td><td>55000</td></tr><tr><td>8</td><td>Heidi</td><td>27</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>9</td><td>Ivan</td><td>26</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>10</td><td>Judy</td><td>31</td><td>Sales</td><td>Sales Rep</td><td>47000</td></tr><tr><td>11</td><td>Kevin</td><td>33</td><td>IT</td><td>Developer</td><td>60000</td></tr><tr><td>12</td><td>Laura</td><td>24</td><td>HR</td><td>Assistant</td><td>40000</td></tr><tr><td>13</td><td>Mike</td><td>55</td><td>HR</td><td>Consultant</td><td>80000</td></tr><tr><td>14</td><td>Nina</td><td>36</td><td>Sales</td><td>Sales Rep</td><td>48000</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">以下がクエリの実行結果です。</p>



<figure class="wp-block-table"><table><thead><tr><th>department</th><th>AVG(salary)</th></tr></thead><tbody><tr><td>IT</td><td>62500</td></tr><tr><td>HR</td><td>60000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行結果</figcaption></figure>



<p class="wp-block-paragraph">ただし、<code>LIMIT 5 OFFSET 10</code>によって適用されるデータが上記の例に適用される場合は、スキップされたり表示されたりするデータ量に応じて部分的な結果のみが表示される可能性があります。</p>
</div></div>



<h2 id="rtoc-11"  class="wp-block-heading">まとめ：SELECT 文を理解してSQLの超基本をマスターしよう！</h2>



<p class="wp-block-paragraph">SQL の基本かつ超重要な<code>SELECT</code>文をご紹介しました。</p>



<p class="wp-block-paragraph">ちょっと複雑なクエリもありましたが、一つ一つ丁寧に追っていけば必ず理解できるはずです。</p>



<p class="wp-block-paragraph">ぜひ、マスターまでクエリを書きつつ粘り強く挑戦してみてください。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【SQL】INSERT でデータベースにレコードを挿入しよう！</title>
		<link>https://cfxlog.com/sql-insert-records/</link>
		
		<dc:creator><![CDATA[CFXLOG]]></dc:creator>
		<pubDate>Wed, 17 Dec 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://cfxlog.com/?p=4906</guid>

					<description><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-insert-records.jpg" class="webfeedsFeaturedVisual" /></p>このような方に向けて書きました。 SELECTに続いて重要なクエリが今回ご紹介するINSERTです。 INSERTはテーブルにデータを追加するクエリになります。 具体例を挙げながら丁寧に解説していきます。 目次 INSE [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-insert-records.jpg" class="webfeedsFeaturedVisual" /></p>
<div class="wp-block-group is-style-crease"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>SQL の INSERT 文の基本を理解したい！</li>
</ul>
</div></div>



<p class="wp-block-paragraph">このような方に向けて書きました。</p>



<p class="wp-block-paragraph"><code>SELECT</code>に続いて重要なクエリが今回ご紹介する<code>INSERT</code>です。</p>



<p class="wp-block-paragraph"><code>INSERT</code>はテーブルにデータを追加するクエリになります。</p>



<p class="wp-block-paragraph">具体例を挙げながら丁寧に解説していきます。</p>



<div id="rtoc-mokuji-wrapper" class="rtoc-mokuji-content frame2 preset5 animation-fade rtoc_open default" data-id="4906" data-theme="SWELL CHILD">
			<div id="rtoc-mokuji-title" class=" rtoc_left">
			<button class="rtoc_open_close rtoc_open"></button>
			<span>目次</span>
			</div><ol class="rtoc-mokuji mokuji_ol level-1"><li class="rtoc-item"><a href="#rtoc-1">INSERT の基本</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-2">特定の列にデータを挿入</a></li><li class="rtoc-item"><a href="#rtoc-3">すべての列にデータを挿入</a></li><li class="rtoc-item"><a href="#rtoc-4">一つの INSERT 文で複数行を挿入</a></li><li class="rtoc-item"><a href="#rtoc-5">別のテーブルからデータを選択して挿入</a></li></ul></li><li class="rtoc-item"><a href="#rtoc-6">INSERT を扱う際の注意点</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-7">データ型の扱い</a></li><li class="rtoc-item"><a href="#rtoc-8">AUTO_INCREMENT 列について</a></li><li class="rtoc-item"><a href="#rtoc-9">エラーハンドリング</a></li></ul></li><li class="rtoc-item"><a href="#rtoc-10">まとめ：INSERT文を使いこなしてデータの挿入をマスターしよう！</a></li></ol></div><h2 id="rtoc-1"  class="wp-block-heading">INSERT の基本</h2>



<p class="wp-block-paragraph">テーブルに新しい行を挿入するのが<code>INSERT</code>です。</p>



<p class="wp-block-paragraph">基本構文は以下の通り。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO テーブル名 (列1, 列2, ...)
VALUES (値1, 値2, ...);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> テーブル名 (列1, 列2, ...)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (値1, 値2, ...);</span></span></code></pre></div>



<figure class="wp-block-table"><table><thead><tr><th>句</th><th>効果</th></tr></thead><tbody><tr><td>INSERT INTO</td><td>挿入先のテーブルを指定</td></tr><tr><td>テーブル名</td><td>テーブル名を指定</td></tr><tr><td>列名リスト</td><td>挿入する列名<br>省略する場合、全列に値を提供する</td></tr><tr><td>VALUES</td><td>挿入するデータの値を指定</td></tr></tbody></table><figcaption class="wp-element-caption">各句の説明</figcaption></figure>



<h3 id="rtoc-2"  class="wp-block-heading">特定の列にデータを挿入</h3>



<p class="wp-block-paragraph">以下は<code>employees</code>というテーブルに新しいレコードを追加するためのクエリです。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age, department)
VALUES ('John Doe', 30, 'Sales');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph"><code>INSERT INTO employees</code>とすることで、データ追加先のテーブルを定義しています。</p>



<p class="wp-block-paragraph">続いて<code>(name, age, department)</code>としているので、<code>name</code>, <code>age</code>, <code>department</code>の3つのカラムにデータが入ります。</p>



<p class="wp-block-paragraph">最後に実際に挿入する値を<code>VALUES ('John Doe', 30, 'Sales')</code>と指定します。</p>



<p class="wp-block-paragraph">上記を実行することで、<code>employees</code>テーブルに、以下の新しい従業員が追加されます。</p>



<p class="wp-block-paragraph">このクエリを実行すると、<code>employees</code>テーブルに次のような新しいレコードが追加されます：</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>John Doe</td><td>30</td><td>Sales</td></tr></tbody></table><figcaption class="wp-element-caption">挿入されたレコード</figcaption></figure>



<h3 id="rtoc-3"  class="wp-block-heading">すべての列にデータを挿入</h3>



<p class="wp-block-paragraph">以下のクエリも<code>employees</code>テーブルに新しいレコードを追加するクエリです。</p>



<p class="wp-block-paragraph">ただし、先ほどのクエリとは違ってカラムの指定がありません。そのため、全てのカラムに対して値を挿入します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees
VALUES (1, 'John Doe', 30, 'Sales');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph"><code>INSERT INTO employees</code>では、<code>employees</code>テーブルにデータを挿入することを宣言しています。</p>



<p class="wp-block-paragraph">続いて実際に挿入する値を<code>VALUES (1, 'John Doe', 30, 'Sales')</code>として指定。この場合には、指定された順番でテーブルの全カラムに対して値が挿入されます。</p>



<p class="wp-block-paragraph">ここでは、列の並びが以下であると仮定します。</p>



<div class="wp-block-group has-border -border04"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>id</li>



<li>name</li>



<li>age</li>



<li>department</li>
</ul>
</div></div>



<p class="wp-block-paragraph">クエリ実行により追加されるレコードは以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>30</td><td>Sales</td></tr></tbody></table><figcaption class="wp-element-caption">追加されたレコード</figcaption></figure>



<p class="wp-block-paragraph">ただし、今回の方法では順番だけを頼りにデータを<code>INSERT</code>していますから、列の並びが違う場合には予期した通りの並びにならない点には注意です。</p>



<p class="is-style-icon_info wp-block-paragraph">安全のため、ちゃんとカラム名も指定するのがおすすめです。</p>



<h3 id="rtoc-4"  class="wp-block-heading">一つの INSERT 文で複数行を挿入</h3>



<p class="wp-block-paragraph">値の部分には、複数のペアを指定することができます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age, department)
VALUES ('John Doe', 30, 'Sales'), 
       ('Jane Smith', 25, 'Marketing'), 
       ('Sam Brown', 35, 'IT');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">), </span></span>
<span class="line"><span style="color: #D4D4D4">       (</span><span style="color: #CE9178">&apos;Jane Smith&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">25</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Marketing&apos;</span><span style="color: #D4D4D4">), </span></span>
<span class="line"><span style="color: #D4D4D4">       (</span><span style="color: #CE9178">&apos;Sam Brown&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">35</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;IT&apos;</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">構造としては一行ずつ追加していくクエリと同様ですが、追加する値をタプル<code>()</code>で囲う部分が異なります。</p>



<p class="wp-block-paragraph">クエリ実行により、以下のレコードが順次追加されていきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>30</td><td>Sales</td></tr></tbody></table><figcaption class="wp-element-caption">追加されたレコード &#8211; 1</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>2</td><td>Jane Smith</td><td>25</td><td>Marketing</td></tr></tbody></table><figcaption class="wp-element-caption">追加されたレコード &#8211; 2</figcaption></figure>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>3</td><td>Sam Brown</td><td>35</td><td>IT</td></tr></tbody></table><figcaption class="wp-element-caption">追加されたレコード &#8211; 3</figcaption></figure>



<p class="wp-block-paragraph">この方法は一つの<code>INSERT</code>クエリを実行するので、<code>INSERT</code>を3回実行するよりもパフォーマンスが向上します。</p>



<p class="is-style-icon_announce wp-block-paragraph">さらに効率的な挿入を行う方法もあります。<br>PostgreSQLでは<code>COPY</code>コマンドを、MySQLでは<code>LOAD DATA INFILE</code>を使う方法があります。</p>



<h3 id="rtoc-5"  class="wp-block-heading">別のテーブルからデータを選択して挿入</h3>



<p class="wp-block-paragraph">別テーブルからデータを持ってきて、対象のテーブルに挿入します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age, department)
SELECT name, age, 'New Department'
FROM old_employees
WHERE department = 'Old Department';</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, </span><span style="color: #CE9178">&apos;New Department&apos;</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> old_employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> department = </span><span style="color: #CE9178">&apos;Old Department&apos;</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">つまり、この場合には以下の処理を行なっています。</p>



<div class="wp-block-group has-border -border04"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list is-style-num_circle">
<li><code>old_employees</code>テーブルから特定の条件に一致するレコードを選択</li>



<li>取得したレコードを<code>employees</code>テーブルに挿入</li>
</ul>
</div></div>



<p class="wp-block-paragraph">まず<code>INSERT INTO employees (name, age, department)</code>を説明します。</p>



<p class="wp-block-paragraph">これは最終的に挿入する「先」のテーブルを定義しています。つまり、<code>employees</code>テーブルにデータを挿入します。<br>それと同時に、挿入するデータのカラムをタプルで指定しています。ここでは<code>name</code>、<code>age</code>、<code>department</code>を指定しました。</p>



<p class="wp-block-paragraph">続いて、<code>SELECT name, age, 'New Department' FROM old_employees</code>についてです。</p>



<p class="wp-block-paragraph">これは<code>old_employees</code>というテーブルの<code>name</code>と<code>age</code>列をそのまま選択して、<code>department</code>カラムには固定値として<code>'New Department'</code>を一律で入れています。</p>



<p class="wp-block-paragraph">最後に<code>WHERE department = 'Old Department'</code>について解説します。</p>



<p class="wp-block-paragraph">ここでは<code>department</code>カラムの値が<code>'Old Department'</code>であるレコードが対象になります。</p>



<p class="wp-block-paragraph">例えば<code>old_employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>John Doe</td><td>30</td><td>Old Department</td></tr><tr><td>Jane Smith</td><td>25</td><td>Marketing</td></tr><tr><td>Sam Brown</td><td>35</td><td>Old Department</td></tr></tbody></table><figcaption class="wp-element-caption">元々のテーブル</figcaption></figure>



<p class="wp-block-paragraph">クエリ実行後は、以下の状態になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>John Doe</td><td>30</td><td>New Department</td></tr><tr><td>Sam Brown</td><td>35</td><td>New Department</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行後のテーブル</figcaption></figure>



<p class="is-style-icon_announce wp-block-paragraph">このプロセスは「サブクエリ」だったり<code>INSERT...SELECT</code>と呼ばれます。</p>



<h2 id="rtoc-6"  class="wp-block-heading">INSERT を扱う際の注意点</h2>



<p class="wp-block-paragraph"><code>INSERT</code>はデータを挿入するという操作上、少し気をつけることがあります。</p>



<p class="wp-block-paragraph">ざっと理解を進めておきましょう。</p>



<h3 id="rtoc-7"  class="wp-block-heading">データ型の扱い</h3>



<p class="wp-block-paragraph"><code>INSERT</code>文では、列と値の型が一致しないとエラーが発生します。</p>



<p class="wp-block-paragraph">たとえば、列の型が「整数型」なのに「文字列」を挿入するのは NG です。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age)
VALUES ('John Doe', 'thirty'); -- エラー：age列は整数型</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;thirty&apos;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">-- エラー：age列は整数型</span></span></code></pre></div>



<h3 id="rtoc-8"  class="wp-block-heading">AUTO_INCREMENT 列について</h3>



<p class="wp-block-paragraph"><code>employees</code>テーブルの定義が以下だったとします。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255),
    age INT,
    department VARCHAR(255)
);</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">CREATE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">TABLE</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">employees</span><span style="color: #D4D4D4"> (</span></span>
<span class="line"><span style="color: #D4D4D4">    id </span><span style="color: #569CD6">INT</span><span style="color: #D4D4D4"> AUTO_INCREMENT </span><span style="color: #569CD6">PRIMARY KEY</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">VARCHAR</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">255</span><span style="color: #D4D4D4">),</span></span>
<span class="line"><span style="color: #D4D4D4">    age </span><span style="color: #569CD6">INT</span><span style="color: #D4D4D4">,</span></span>
<span class="line"><span style="color: #D4D4D4">    department </span><span style="color: #569CD6">VARCHAR</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">255</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">このように定義されたテーブルに対して、以下の<code>INSERT</code>文を実行すると、<code>id</code>カラムは自動的にインクリメントされます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age, department)
VALUES ('John Doe', 30, 'Sales');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">例えばこのクエリを実行する前に<code>employees</code>テーブルにレコードがない場合には、以下の結果になります・。</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>30</td><td>Sales</td></tr></tbody></table><figcaption class="wp-element-caption">1度目のINSERTを行った結果</figcaption></figure>



<p class="wp-block-paragraph">さらにレコードを追加します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>INSERT INTO employees (name, age, department)
VALUES ('Jane Smith', 25, 'Marketing');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (</span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #CE9178">&apos;Jane Smith&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">25</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Marketing&apos;</span><span style="color: #D4D4D4">);</span></span></code></pre></div>



<p class="wp-block-paragraph">テーブルの内容は次のようになります：</p>



<figure class="wp-block-table"><table><thead><tr><th>id</th><th>name</th><th>age</th><th>department</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>30</td><td>Sales</td></tr><tr><td>2</td><td>Jane Smith</td><td>25</td><td>Marketing</td></tr></tbody></table><figcaption class="wp-element-caption">2度目のINSERTを行った結果</figcaption></figure>



<h3 id="rtoc-9"  class="wp-block-heading">エラーハンドリング</h3>



<p class="wp-block-paragraph">データベースによっては、挿入時にエラーが発生した場合の処理を制御するオプションが提供されています。</p>



<p class="wp-block-paragraph">例えば、MySQLでは<code>INSERT IGNORE</code>や<code>ON DUPLICATE KEY UPDATE</code>などがそれに当たります。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>-- 重複エラーを無視する
INSERT IGNORE INTO employees (id, name, age, department)
VALUES (1, 'John Doe', 30, 'Sales');

-- 重複した場合は更新する
INSERT INTO employees (id, name, age, department)
VALUES (1, 'John Doe', 30, 'Sales')
ON DUPLICATE KEY UPDATE age = 30, department = 'Sales';</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #6A9955">-- 重複エラーを無視する</span></span>
<span class="line"><span style="color: #569CD6">INSERT IGNORE INTO</span><span style="color: #D4D4D4"> employees (id, </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">-- 重複した場合は更新する</span></span>
<span class="line"><span style="color: #569CD6">INSERT INTO</span><span style="color: #D4D4D4"> employees (id, </span><span style="color: #569CD6">name</span><span style="color: #D4D4D4">, age, department)</span></span>
<span class="line"><span style="color: #569CD6">VALUES</span><span style="color: #D4D4D4"> (</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;John Doe&apos;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"><span style="color: #569CD6">ON</span><span style="color: #D4D4D4"> DUPLICATE </span><span style="color: #569CD6">KEY</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">UPDATE</span><span style="color: #D4D4D4"> age = </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, department = </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<h2 id="rtoc-10"  class="wp-block-heading">まとめ：INSERT文を使いこなしてデータの挿入をマスターしよう！</h2>



<p class="wp-block-paragraph">以上で、基本的な<code>INSERT</code>文の解説は以上です。</p>



<p class="wp-block-paragraph"><code>SELECT</code>文に比べるとバリエーションは少ないので、ごく短期間でマスターできるはずです。</p>



<p class="wp-block-paragraph">ぜひ本記事を参考に、SQL 操作のスキルを上げていってください。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【SQL】DELETE でレコードを削除しよう！</title>
		<link>https://cfxlog.com/sql-delete-records/</link>
		
		<dc:creator><![CDATA[CFXLOG]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://cfxlog.com/?p=4775</guid>

					<description><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-delete-records.jpg" class="webfeedsFeaturedVisual" /></p>このような方に向けて書きました。 本記事ではDELETEの基礎と、実際のクエリを実例としてご紹介します。 目次 DELETE の基本 DELETE の具体例 特定の行を削除 複数の条件を指定して削除 全行を削除する場合  [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-delete-records.jpg" class="webfeedsFeaturedVisual" /></p>
<div class="wp-block-group is-style-crease"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>DELETE 文の使い方を知りたい！</li>
</ul>
</div></div>



<p class="wp-block-paragraph">このような方に向けて書きました。</p>



<p class="wp-block-paragraph">本記事では<code>DELETE</code>の基礎と、実際のクエリを実例としてご紹介します。</p>



<div id="rtoc-mokuji-wrapper" class="rtoc-mokuji-content frame2 preset5 animation-fade rtoc_open default" data-id="4775" data-theme="SWELL CHILD">
			<div id="rtoc-mokuji-title" class=" rtoc_left">
			<button class="rtoc_open_close rtoc_open"></button>
			<span>目次</span>
			</div><ol class="rtoc-mokuji mokuji_ol level-1"><li class="rtoc-item"><a href="#rtoc-1">DELETE の基本</a></li><li class="rtoc-item"><a href="#rtoc-2">DELETE の具体例</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-3">特定の行を削除</a></li><li class="rtoc-item"><a href="#rtoc-4">複数の条件を指定して削除</a></li><li class="rtoc-item"><a href="#rtoc-5">全行を削除する場合</a></li></ul></li><li class="rtoc-item"><a href="#rtoc-6">トランザクションを使った安全な削除方法</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-7">トランザクションを開始</a></li><li class="rtoc-item"><a href="#rtoc-8">削除前の状態を確認</a></li><li class="rtoc-item"><a href="#rtoc-9">削除クエリの実行</a></li><li class="rtoc-item"><a href="#rtoc-10">削除後の状態を確認</a></li><li class="rtoc-item"><a href="#rtoc-11">問題なければ、トランザクションをコミット</a></li><li class="rtoc-item"><a href="#rtoc-12">問題があれば、トランザクションをロールバック</a></li></ul></li></ol></div><h2 id="rtoc-1"  class="wp-block-heading">DELETE の基本</h2>



<p class="wp-block-paragraph"><code>DELETE</code>は、テーブルから特定のレコードを削除します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>DELETE FROM table_name
WHERE condition;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">DELETE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> table_name</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> condition;</span></span></code></pre></div>



<p class="wp-block-paragraph">各要素の内容は以下の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>句</th><th>効果</th></tr></thead><tbody><tr><td><code>table_name</code></td><td>削除対象のテーブル名</td></tr><tr><td><code>WHERE condition</code></td><td>削除する行の条件を指定</td></tr></tbody></table><figcaption class="wp-element-caption">句と効果</figcaption></figure>



<p class="is-style-icon_info wp-block-paragraph"><code>UPDATE</code>と同様、<code>DELETE</code>でも<code>WHERE</code>を指定しないと全削除になってしまうのでご注意ください。</p>



<h2 id="rtoc-2"  class="wp-block-heading">DELETE の具体例</h2>



<p class="wp-block-paragraph">具体的なクエリ例を示しつつ、<code>DELETE</code>の使い方を確認してきましょう。</p>



<h3 id="rtoc-3"  class="wp-block-heading">特定の行を削除</h3>



<p class="wp-block-paragraph">特定の行を削除する場合には、以下のクエリを実行します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>DELETE FROM employees
WHERE employee_id = 1;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">DELETE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> employee_id = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">上記では<code>employee_id</code>が<code>1</code>のレコードを削除します。</p>



<p class="wp-block-paragraph">ただし<code>DELETE</code>は一度実行すると元に戻せないので、以下のコマンドで削除予定のレコードを確認しておくことをお勧めします。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT *
FROM employees
WHERE employee_id = 1;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> *</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> employee_id = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが次のようなものだったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>department</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>Manager</td><td>Sales</td></tr><tr><td>2</td><td>Jane Smith</td><td>Developer</td><td>IT</td></tr><tr><td>3</td><td>Emily Davis</td><td>Analyst</td><td>Marketing</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリ実行後のテーブルは以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>department</th></tr></thead><tbody><tr><td>2</td><td>Jane Smith</td><td>Developer</td><td>IT</td></tr><tr><td>3</td><td>Emily Davis</td><td>Analyst</td><td>Marketing</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>employee_id</code>が<code>1</code> のレコードが削除され、 <code>2</code>と<code>3</code>のレコードのみが残ります。</p>
</div></div>



<h3 id="rtoc-4"  class="wp-block-heading">複数の条件を指定して削除</h3>



<p class="wp-block-paragraph">複数条件を指定する場合には、<code>AND</code>演算子を使います。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>DELETE FROM employees
WHERE department = 'Sales' AND salary &lt; 30000;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">DELETE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> department = </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">AND</span><span style="color: #D4D4D4"> salary &lt; </span><span style="color: #B5CEA8">30000</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">今回も<code>DELETE</code>クエリを使っているので、削除実行前にあらかじめ削除対象のレコードを確認しておくべきです。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT * FROM employees
WHERE department = 'Sales' AND salary &lt; 30000;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> * </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> department = </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">AND</span><span style="color: #D4D4D4"> salary &lt; </span><span style="color: #B5CEA8">30000</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">出力結果が正しければ、先ほどの<code>DELETE</code>クエリを実行しましょう。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph"><code>employees</code>テーブルが次のようなものだったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>department</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>Manager</td><td>Sales</td><td>50000</td></tr><tr><td>2</td><td>Jane Smith</td><td>Developer</td><td>IT</td><td>40000</td></tr><tr><td>3</td><td>Emily Davis</td><td>Analyst</td><td>Marketing</td><td>35000</td></tr><tr><td>4</td><td>Chris Brown</td><td>Sales Rep</td><td>Sales</td><td>25000</td></tr><tr><td>5</td><td>Pat Taylor</td><td>Sales Rep</td><td>Sales</td><td>28000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリ実行後のテーブルは以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>department</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Doe</td><td>Manager</td><td>Sales</td><td>50000</td></tr><tr><td>2</td><td>Jane Smith</td><td>Developer</td><td>IT</td><td>40000</td></tr><tr><td>3</td><td>Emily Davis</td><td>Analyst</td><td>Marketing</td><td>35000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行後</figcaption></figure>



<p class="wp-block-paragraph"><code>department</code>が<code>Sales</code>で<code>salary</code>が<code>30000</code>未満のレコードが2つ存在していましたが、クエリの実行でこれらが削除されました。</p>
</div></div>



<h3 id="rtoc-5"  class="wp-block-heading">全行を削除する場合</h3>



<p class="wp-block-paragraph"><code>WHERE</code>句を指定しなければ、全行削除になります。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>DELETE FROM employees;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">DELETE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees;</span></span></code></pre></div>



<p class="wp-block-paragraph">こちらの操作は慎重に行なってください。</p>



<h2 id="rtoc-6"  class="wp-block-heading">トランザクションを使った安全な削除方法</h2>



<p class="wp-block-paragraph">トランザクションを使うと、操作が失敗した場合には変更前に戻せます。</p>



<p class="wp-block-paragraph">手順としては、以下の通りです。</p>



<div class="wp-block-group has-border -border04"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ol class="wp-block-list is-style-num_circle">
<li>トランザクションを開始</li>



<li>削除前の状態を確認</li>



<li>削除クエリを実行</li>



<li>削除後の状態を確認</li>



<li>問題がなければ、トランザクションをコミット</li>



<li>問題があれば、トランザクションをロールバック</li>
</ol>
</div></div>



<p class="wp-block-paragraph">トランザクションを使うことで、エラーが発生しても元に戻せます。</p>



<h3 id="rtoc-7"  class="wp-block-heading">トランザクションを開始</h3>



<p class="wp-block-paragraph">以下のコマンドでトランザクションを開始します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>BEGIN;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">BEGIN</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<h3 id="rtoc-8"  class="wp-block-heading">削除前の状態を確認</h3>



<p class="wp-block-paragraph">削除予定のレコードを取得します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT *
FROM employees
WHERE department = 'Sales' AND salary &lt; 30000;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> *</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> department = </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">AND</span><span style="color: #D4D4D4"> salary &lt; </span><span style="color: #B5CEA8">30000</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">返ってきた結果が削除したいものかをよく確認しましょう。</p>



<h3 id="rtoc-9"  class="wp-block-heading">削除クエリの実行</h3>



<p class="wp-block-paragraph">先ほどの<code>SELECT</code>で指定した条件で、<code>DELETE</code>を行います。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>DELETE FROM employees
WHERE department = 'Sales' AND salary &lt; 30000;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">DELETE</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> department = </span><span style="color: #CE9178">&apos;Sales&apos;</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">AND</span><span style="color: #D4D4D4"> salary &lt; </span><span style="color: #B5CEA8">30000</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<h3 id="rtoc-10"  class="wp-block-heading">削除後の状態を確認</h3>



<p class="wp-block-paragraph">全レコードを取得して、変更後のテーブルを確認します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SELECT *
FROM employees;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">SELECT</span><span style="color: #D4D4D4"> *</span></span>
<span class="line"><span style="color: #569CD6">FROM</span><span style="color: #D4D4D4"> employees;</span></span></code></pre></div>



<h3 id="rtoc-11"  class="wp-block-heading">問題なければ、トランザクションをコミット</h3>



<p class="wp-block-paragraph">正常に削除ができていれば、以下のコマンドを実行しましょう。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>COMMIT;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">COMMIT</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<h3 id="rtoc-12"  class="wp-block-heading">問題があれば、トランザクションをロールバック</h3>



<p class="wp-block-paragraph">何か問題があった場合には、ロールバックで元に戻します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ROLLBACK;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">ROLLBACK</span><span style="color: #D4D4D4">;</span></span></code></pre></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【SQL】UPDATE で既存のレコードを更新しよう！</title>
		<link>https://cfxlog.com/sql-update-records/</link>
		
		<dc:creator><![CDATA[CFXLOG]]></dc:creator>
		<pubDate>Mon, 17 Nov 2025 15:00:00 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://cfxlog.com/?p=4938</guid>

					<description><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-update-records.jpg" class="webfeedsFeaturedVisual" /></p>このような方に向けて書きました。 すでにあるテーブルのレコードを書き換えるクエリがUPDATEです。 分量としてはあまり多くないので、ざっと全体像を俯瞰してマスターしていきましょう。 目次 UPDATE 文の基本 UPD [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://cfxlog.com/wp-content/uploads/2026/03/sql-update-records.jpg" class="webfeedsFeaturedVisual" /></p>
<div class="wp-block-group is-style-crease"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list">
<li>SQL で既存のレコードを更新したい</li>
</ul>
</div></div>



<p class="wp-block-paragraph">このような方に向けて書きました。</p>



<p class="wp-block-paragraph">すでにあるテーブルのレコードを書き換えるクエリが<code>UPDATE</code>です。</p>



<p class="wp-block-paragraph">分量としてはあまり多くないので、ざっと全体像を俯瞰してマスターしていきましょう。</p>



<div id="rtoc-mokuji-wrapper" class="rtoc-mokuji-content frame2 preset5 animation-fade rtoc_open default" data-id="4938" data-theme="SWELL CHILD">
			<div id="rtoc-mokuji-title" class=" rtoc_left">
			<button class="rtoc_open_close rtoc_open"></button>
			<span>目次</span>
			</div><ol class="rtoc-mokuji mokuji_ol level-1"><li class="rtoc-item"><a href="#rtoc-1">UPDATE 文の基本</a></li><li class="rtoc-item"><a href="#rtoc-2">UPDATE の具体例</a><ul class="rtoc-mokuji mokuji_none level-2"><li class="rtoc-item"><a href="#rtoc-3">単一の列を更新する場合</a></li><li class="rtoc-item"><a href="#rtoc-4">複数の列を更新する場合</a></li><li class="rtoc-item"><a href="#rtoc-5">全行を更新する場合</a></li></ul></li></ol></div><h2 id="rtoc-1"  class="wp-block-heading">UPDATE 文の基本</h2>



<p class="wp-block-paragraph">既存のレコードの値を変更するために使われるのが<code>UPDATE</code>です。</p>



<p class="wp-block-paragraph">構文は以下の通り。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">UPDATE</span><span style="color: #D4D4D4"> table_name</span></span>
<span class="line"><span style="color: #569CD6">SET</span><span style="color: #D4D4D4"> column1 = value1, column2 = value2, ...</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> condition;</span></span></code></pre></div>



<p class="wp-block-paragraph">各要素の意味をまとめると以下の通りです。</p>



<figure class="wp-block-table"><table><thead><tr><th>句</th><th>効果</th></tr></thead><tbody><tr><td><code>table_name</code></td><td>更新対象のテーブル名</td></tr><tr><td><code>SET column1 = value1</code></td><td>更新する列と新しい値を指定</td></tr><tr><td><code>WHERE condition</code></td><td>更新する行の条件</td></tr></tbody></table><figcaption class="wp-element-caption">句と効果</figcaption></figure>



<p class="wp-block-paragraph">最後の<code>WHERE</code>句を指定しないと、テーブル内の全行が更新されるので注意してください。</p>



<p class="wp-block-paragraph">また、一度<code>UPDATE</code>すると元に戻せないので、更新前にバックアップをとりましょう。</p>



<h2 id="rtoc-2"  class="wp-block-heading">UPDATE の具体例</h2>



<p class="wp-block-paragraph">ここからは実際のクエリ例を示しながら、<code>UPDATE</code>の挙動を確認していきましょう。</p>



<h3 id="rtoc-3"  class="wp-block-heading">単一の列を更新する場合</h3>



<p class="wp-block-paragraph">特定の列だけを更新したい場合には、以下のクエリを実行します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>UPDATE employees
SET salary = 50000
WHERE employee_id = 1;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">UPDATE</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">SET</span><span style="color: #D4D4D4"> salary = </span><span style="color: #B5CEA8">50000</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> employee_id = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph"><code>employees</code>テーブルの<code>employee_id=1</code>のフィールドを取得して、<code>salary</code>列の値を<code>50000</code>に変更します。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">元々、<code>employees</code>テーブルが次のようなものだったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>45000</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>55000</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>48000</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>42000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>50000</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>55000</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>48000</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>42000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行後</figcaption></figure>
</div></div>



<h3 id="rtoc-4"  class="wp-block-heading">複数の列を更新する場合</h3>



<p class="wp-block-paragraph">複数列を更新する場合には、<code>,</code>区切りで列と値の組み合わせを列挙していきます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>UPDATE employees
SET salary = 50000, job_title = 'Senior Developer'
WHERE employee_id = 1;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">UPDATE</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">SET</span><span style="color: #D4D4D4"> salary = </span><span style="color: #B5CEA8">50000</span><span style="color: #D4D4D4">, job_title = </span><span style="color: #CE9178">&apos;Senior Developer&apos;</span></span>
<span class="line"><span style="color: #569CD6">WHERE</span><span style="color: #D4D4D4"> employee_id = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph"><code>employees</code>テーブルの<code>employee_id=1</code>のフィールドを取得して、<code>salary</code>列と<code>job_title</code>の値を書き換えます。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">クエリ実行前の<code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>45000</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>55000</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>48000</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>42000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>50000</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>55000</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>48000</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>42000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行後</figcaption></figure>
</div></div>



<h3 id="rtoc-5"  class="wp-block-heading">全行を更新する場合</h3>



<p class="wp-block-paragraph">全行を更新するには、<code>WHERE</code>を省略します。</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">SQL</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>UPDATE employees
SET salary = salary * 1.1;</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">UPDATE</span><span style="color: #D4D4D4"> employees</span></span>
<span class="line"><span style="color: #569CD6">SET</span><span style="color: #D4D4D4"> salary = salary * </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">.</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p class="wp-block-paragraph">上記の例では、<code>salary</code>カラムの全行を<code>10%</code>分増やします。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl"><div class="cap_box_ttl"><span>クエリ実行例</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">クエリ実行前の<code>employees</code>テーブルが以下だったとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>45000</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>55000</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>48000</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>42000</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行前</figcaption></figure>



<p class="wp-block-paragraph">クエリの実行結果は以下になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>employee_id</th><th>name</th><th>position</th><th>salary</th></tr></thead><tbody><tr><td>1</td><td>John Smith</td><td>Manager</td><td>49500</td></tr><tr><td>2</td><td>Jane Doe</td><td>Developer</td><td>60500</td></tr><tr><td>3</td><td>Alice Jones</td><td>Designer</td><td>52800</td></tr><tr><td>4</td><td>Bob Brown</td><td>Tester</td><td>46200</td></tr></tbody></table><figcaption class="wp-element-caption">クエリ実行後</figcaption></figure>
</div></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
