ホームページ > データベース > mysql チュートリアル > 標準 SQL 構文を使用してあるテーブルから別のテーブルにデータを挿入するにはどうすればよいですか?

標準 SQL 構文を使用してあるテーブルから別のテーブルにデータを挿入するにはどうすればよいですか?

DDD
リリース: 2025-01-24 03:52:09
オリジナル
890 人が閲覧しました

How to Insert Data from One Table to Another Using Standard SQL Syntax?

SQL: テーブル間でのデータのコピー

頻繁に実行される SQL タスクには、あるテーブルから別のテーブルへのデータ転送が含まれます。 特定の構文はデータベース システムによって若干異なる場合がありますが、広く互換性のあるアプローチでは INSERT INTO ... SELECT ステートメントを使用します。

データ挿入のための標準 SQL 構文

次の構文は、さまざまなデータベース管理システム (DBMS) 間で高度な互換性を提供します。

<code class="language-sql">INSERT INTO target_table (column1, column2, ...)
SELECT source_column1, source_column2, ...
FROM source_table
[WHERE condition];</code>
ログイン後にコピー

内訳は次のとおりです:

  • target_table: 新しいデータを受信するテーブル。
  • column1, column2, ...: データが挿入される target_table 内の列。 順序は SELECT ステートメントと一致する必要があります。
  • source_column1, source_column2, ...: データを提供する source_table 内の列。 データ型は、対応する target_table 列と互換性がある必要があります。
  • source_table: データを提供するテーブル。
  • WHERE condition (オプション): 挿入前に source_table からのデータをフィルターします。 条件を満たす行のみがコピーされます。

DBMS の互換性

この INSERT INTO ... SELECT メソッドは通常、次のような幅広い DBMS で機能します。

  • オラクル
  • Microsoft SQL サーバー
  • MySQL
  • PostgreSQL
  • SQLite
  • テラデータ
  • DB2
  • サイベース
  • ヴァーティカ
  • HSQLDB
  • H2
  • Amazon Redshift
  • サップハナ
  • Google Cloud Spanner

具体例

「employees」テーブルと「Department_summary」テーブルがあるとします。 department_summary に従業員の部門名を入力するには:

<code class="language-sql">INSERT INTO department_summary (department_name)
SELECT department
FROM employees;</code>
ログイン後にコピー

これにより、employees テーブルのすべての一意の部門名が department_name テーブルの department_summary 列に挿入されます。 重複する部門名は 1 回だけ挿入されることに注意してください。 重複を別の方法で処理する必要がある場合は、ロジックを追加する必要があります (例: GROUP BY と集計関数の使用)。

以上が標準 SQL 構文を使用してあるテーブルから別のテーブルにデータを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート