-
INSERT INTO ... SELECT文を使用する方法: この方法では、サブクエリを使用してデータを選択し、それをINSERT文でテーブルに挿入します。以下は例です:
INSERT INTO テーブル名 (カラム1, カラム2, ...) SELECT サブクエリで選択するカラム1, サブクエリで選択するカラム2, ... FROM サブクエリのテーブル WHERE 条件;
例えば、以下のように書くことができます:
INSERT INTO employees (first_name, last_name) SELECT first_name, last_name FROM temp_employees WHERE hire_date > '2023-01-01';
-
VALUES句を使用する方法: この方法では、VALUES句を使用して複数の行を一度に挿入します。サブクエリ内にVALUES句を記述し、それをINSERT文で使用します。以下は例です:
INSERT INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...), (値3, 値4, ...), ...
例えば、以下のように書くことができます:
INSERT INTO employees (first_name, last_name) VALUES ('John', 'Doe'), ('Jane', 'Smith'), ...
-
WITH句を使用する方法: この方法では、WITH句を使用して一時的な結果セットを作成し、それをINSERT文で使用します。以下は例です:
WITH サブクエリ名 AS ( SELECT カラム1, カラム2, ... FROM サブクエリのテーブル WHERE 条件 ) INSERT INTO テーブル名 (カラム1, カラム2, ...) SELECT サブクエリで選択するカラム1, サブクエリで選択するカラム2, ... FROM サブクエリ名;
例えば、以下のように書くことができます:
WITH temp_employees AS ( SELECT first_name, last_name FROM employees WHERE hire_date > '2023-01-01' ) INSERT INTO employees (first_name, last_name) SELECT first_name, last_name FROM temp_employees;
これらの方法を使用して、PostgreSQLでサブクエリを使用した複数のINSERT文を実行することができます。必要に応じて、テーブル名やカラム名を適切に置き換えてください。