ホームページ データベース SQL 選択への挿入の使用法

選択への挿入の使用法

Jul 06, 2023 pm 04:47 PM
insert into select

選択への挿入の使用法

リレーショナル データベースでは、INSERT INTO SELECT は、クエリの結果を別のテーブルに挿入するために使用される一般的な SQL ステートメントです。この構文構造は、あるテーブルから別のテーブルにデータを簡単にコピーしたり、いくつかの条件に基づいてデータをフィルタリングして挿入したりするのに非常に役立ちます。

INSERT INTO SELECT の構文構造は次のとおりです。

INSERT INTO 表名 (列1, 列2, 列3, ...)
SELECT 列1, 列2, 列3, ...
FROM 来源表
WHERE 条件;
ログイン後にコピー

このうち、INSERT INTO 句では、データを挿入する対象のテーブルと対象の列を指定します。 SELECT 句は、データを選択するテーブルを定義し、ターゲット テーブルに挿入する列を指定します。すべての列をターゲット テーブルに挿入する必要がないように、必要に応じて適切な列を選択できます。

SELECT 句のソース テーブルは、データが選択されるテーブルを指します。特定のテーブル名またはクエリ結果セットを指定できます。 INSERT INTO SELECT を使用する場合、データ転送とフィルタリングの要件を満たすために、必要に応じて複数のクエリ ステートメントをネストできます。

WHERE 句はオプションであり、ソース テーブル内の特定の条件を満たすデータをフィルタリングするために使用されます。たとえば、WHERE 句を使用して特定の条件を満たす行のみの挿入を制限したり、他の演算子 (IN、LIKE など) を使用してデータをさらにフィルタリングしたりできます。

次に、INSERT INTO SELECT の使用例をいくつか示します。

単純な挿入操作:

2 つのテーブル A と B があるとします。テーブル A には、列 id、name、および列が含まれています。 age、テーブル B には列 id と address が含まれています。テーブル A のデータをテーブル B の対応する列に挿入するには、次のステートメントを使用できます。

INSERT INTO B (id, address)
SELECT id, name
FROM A;
ログイン後にコピー

このようにして、テーブル A の id 列の値がテーブルの id 列に挿入されます。 B. テーブル A の名前列の値がテーブル B のアドレス列に挿入されます。他の列は無視されます。

WHERE 句を使用してフィルタリングします:

特定の条件を満たすデータのみを挿入する場合は、SELECT ステートメントに WHERE 句を追加できます。たとえば、テーブル A の年齢が 18 を超えるレコードのみをテーブル B に挿入するには、次のステートメントを使用できます。

INSERT INTO B (id, address)
SELECT id, name
FROM A
WHERE age > 18;
ログイン後にコピー

このようにして、条件を満たす行のみがテーブル B に挿入されます。 。

サブクエリを使用した挿入:

SELECT 句では、サブクエリを使用してデータを選択することもできます。たとえば、条件を満たす行を別のテーブルに挿入するには、次のステートメントを使用できます。

INSERT INTO C (id, address)
SELECT id, address
FROM B
WHERE id IN (SELECT id FROM A WHERE age > 18);
ログイン後にコピー

この方法では、最初にテーブル A から条件を満たす ID を選択し、次に対応する ID を選択します。これらの ID レコードに基づいてテーブル B から取得し、テーブル C に挿入します。

概要

INSERT INTO SELECT は、あるテーブルから別のテーブルにデータを簡単にコピーしたり、いくつかの条件に基づいてデータをフィルタリングして挿入したりできる強力な SQL ステートメントです。その柔軟性により、実際のデータベース操作に非常に役立ちます。

以上が選択への挿入の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SQL(水平、垂直)のデータ分割のさまざまな種類は何ですか? SQL(水平、垂直)のデータ分割のさまざまな種類は何ですか? Mar 13, 2025 pm 02:01 PM

この記事では、パフォーマンスとスケーラビリティへの影響に焦点を当てたSQLでの水平および垂直データの分割について説明します。それは、それらを選択するための利点と考慮事項を比較します。

SQLで集計関数を使用してデータを要約するにはどうすればよいですか(Sum、Avg、Count、Min、Max)? SQLで集計関数を使用してデータを要約するにはどうすればよいですか(Sum、Avg、Count、Min、Max)? Mar 13, 2025 pm 01:50 PM

この記事では、SQLアグリゲート関数(SUM、AVG、Count、Min、Max)を使用してデータを要約し、使用と違いを詳述し、クエリでそれらを結合する方法について説明します。

動的SQLを使用することのセキュリティリスクは何ですか?また、それらを緩和するにはどうすればよいですか? 動的SQLを使用することのセキュリティリスクは何ですか?また、それらを緩和するにはどうすればよいですか? Mar 13, 2025 pm 01:59 PM

この記事では、SQLインジェクションに焦点を当てた動的SQLのセキュリティリスクについて説明し、パラメーター化されたクエリと入力検証の使用などの緩和戦略を提供します。

SQLのさまざまなトランザクション分離レベルは何ですか(コミットされていない読み取り、読み取り、繰り返し可能な読み取り、シリアル化可能)? SQLのさまざまなトランザクション分離レベルは何ですか(コミットされていない読み取り、読み取り、繰り返し可能な読み取り、シリアル化可能)? Mar 13, 2025 pm 01:56 PM

この記事では、SQLトランザクションの分離レベルについて説明します。データの一貫性とパフォーマンスへの影響を調べ、より高い分離により一貫性が高くなることがありますが、

SQLを使用して、データプライバシー規制(GDPR、CCPA)に準拠するにはどうすればよいですか? SQLを使用して、データプライバシー規制(GDPR、CCPA)に準拠するにはどうすればよいですか? Mar 18, 2025 am 11:22 AM

記事では、GDPRおよびCCPAコンプライアンスにSQLを使用して、データの匿名化、アクセス要求、および時代遅れのデータの自動削除に焦点を当てています(159文字)について説明します。

SQLのトランザクションの酸性特性は何ですか? SQLのトランザクションの酸性特性は何ですか? Mar 13, 2025 pm 01:54 PM

この記事では、SQLトランザクションにおける酸性特性(原子性、一貫性、分離、耐久性)について説明します。これは、データの整合性と信頼性を維持するために重要です。

SQLインジェクションなどの一般的な脆弱性に対してSQLデータベースを保護するにはどうすればよいですか? SQLインジェクションなどの一般的な脆弱性に対してSQLデータベースを保護するにはどうすればよいですか? Mar 18, 2025 am 11:18 AM

この記事では、SQLインジェクションなどの脆弱性に対してSQLデータベースを保護し、準備されたステートメント、入力検証、定期的な更新を強調しています。

パフォーマンスとスケーラビリティのためにSQLでデータパーティションを実装するにはどうすればよいですか? パフォーマンスとスケーラビリティのためにSQLでデータパーティションを実装するにはどうすればよいですか? Mar 18, 2025 am 11:14 AM

記事では、パフォーマンスとスケーラビリティを向上させるために、SQLでデータパーティションを実装すること、詳細な方法、ベストプラクティス、監視ツールについて説明します。

See all articles