Maison  >  Article  >  base de données  >  Comment utiliser l'insertion dans la sélection dans Oracle

Comment utiliser l'insertion dans la sélection dans Oracle

下次还敢
下次还敢original
2024-05-08 18:21:21937parcourir

L'instruction INSERT INTO SELECT est utilisée pour insérer des données d'une table dans une autre table. Il prend en charge l'insertion de toutes les colonnes ou de colonnes spécifiques et peut filtrer en utilisant des conditions via la clause WHERE. Les données peuvent être facilement transférées d'une table à une autre en spécifiant la table cible, la liste de colonnes et la table source.

Comment utiliser l'insertion dans la sélection dans Oracle

Utilisation de INSERT INTO SELECT dans Oracle

Signification :

L'instruction INSERT INTO SELECT insère les données d'une table dans une autre table.

Syntaxe :

<code>INSERT INTO <目标表>
SELECT <列列表>
FROM <源表>
[WHERE <条件>]</code>

Paramètres :

  •  : La table cible dans laquelle insérer les données.
  •  : Colonnes à insérer, vous pouvez spécifier toutes les colonnes ou des colonnes spécifiques.
  •  : La table source à partir de laquelle obtenir les données.
  • [WHERE ] : Conditions facultatives utilisées pour filtrer les données dans la table source.
  • Utilisation :

    1. Insérer toutes les colonnes :

      Si aucune colonne n'est spécifiée dans Liste des colonnes, toutes les colonnes de la table source seront insérées. 列列表 中没有指定列,则会插入源表中的所有列。

      <code>INSERT INTO target_table
      SELECT *
      FROM source_table;</code>
    2. 插入特定列:

      如果 列列表 中指定了特定列,则只插入指定的列。

      <code>INSERT INTO target_table (col1, col2)
      SELECT col1, col2
      FROM source_table;</code>
    3. 使用条件:

      WHERE 子句可用于过滤源表中的数据,只插入满足条件的行。

      <code>INSERT INTO target_table
      SELECT *
      FROM source_table
      WHERE column_name > 10;</code>

    示例:

    假设我们有以下两个表:

    <code>source_table:
    +----+----------+
    | id | name      |
    +----+----------+
    | 1  | John Doe  |
    | 2  | Jane Smith |
    | 3  | Mary Jones |
    +----+----------+
    
    target_table:
    +----+----------+
    | id | name      |
    +----+----------+
    | 4  | Bob Smith  |
    | 5  | Sue Brown  |
    +----+----------+</code>

    要从 source_table 中插入所有行到 target_table 中,我们可以使用以下查询:

    <code>INSERT INTO target_table
    SELECT *
    FROM source_table;</code>

    插入后,target_table

    <code>+----+----------+
    | id | name      |
    +----+----------+
    | 4  | Bob Smith  |
    | 5  | Sue Brown  |
    | 1  | John Doe  |
    | 2  | Jane Smith |
    | 3  | Mary Jones |
    +----+----------+</code>
    🎜🎜🎜Insérer des colonnes spécifiques : 🎜🎜🎜Si des colonnes spécifiques sont spécifiées dans la Liste des colonnes, seules les colonnes spécifiées seront insérées. 🎜rrreee🎜🎜🎜🎜Conditions d'utilisation : 🎜🎜🎜La clause WHERE peut être utilisée pour filtrer les données dans la table source et insérer uniquement les lignes qui remplissent les conditions. 🎜rrreee🎜🎜🎜Exemple : 🎜🎜🎜Supposons que nous ayons les deux tables suivantes : 🎜rrreee🎜 Pour insérer toutes les lignes de source_table dans target_table, nous pouvons utilisez la requête suivante : 🎜rrreee🎜Après l'insertion, target_table ressemblera à ceci : 🎜rrreee

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn