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

SQL を使用して別のテーブルから Oracle テーブルのデータを更新するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-22 03:03:13
オリジナル
308 人が閲覧しました

How to Update Oracle Table Data from Another Table Using SQL?

SQL を使用して別のテーブルから Oracle テーブル データを更新する

リレーショナル データベース管理では、多くの場合、あるテーブルのデータを別のテーブルの値を使用して更新する必要があります。これは、SQL UPDATE ステートメントを使用して実行できます。

シーン:

次のデータを含む 2 つのテーブル、表 1 と表 2 について考えます。

<code>表 1:
id    name    desc
-----------------------
1     a       abc
2     b       def
3     c       adf

表 2:
id    name    desc
-----------------------
1     x       123
2     y       345</code>
ログイン後にコピー

ターゲット:

両方のテーブルの id 列が一致する場合、テーブル 1 をテーブル 2 の name 列と desc 列で更新します。期待される結果は次のとおりです:

<code>表 1:
id    name    desc
-----------------------
1     x       123
2     y       345
3     c       adf</code>
ログイン後にコピー

オプション 1: 関連アップデート

Oracle SQL では、関連する更新が利用可能です:

<code class="language-sql">UPDATE table1 t1
SET (name, desc) = (SELECT t2.name, t2.desc
                         FROM table2 t2
                        WHERE t1.id = t2.id)
 WHERE EXISTS (
    SELECT 1
      FROM table2 t2
     WHERE t1.id = t2.id )</code>
ログイン後にコピー

手順:

このクエリは、サブクエリを使用して、一致する ID に基づいて table2 から対応する name と desc の値を取得し、table1 の更新を実行します。 WHERE EXISTS 句により、table2 に一致する行がある table1 の行のみが更新されます。

オプション 2: JOIN ベースの更新

結合によって生成された結果がキーを保持すると仮定すると、次の更新ステートメントを使用できます:

<code class="language-sql">UPDATE (SELECT t1.id, 
               t1.name name1,
               t1.desc desc1,
               t2.name name2,
               t2.desc desc2
          FROM table1 t1,
               table2 t2
         WHERE t1.id = t2.id)
   SET name1 = name2,
       desc1 = desc2</code>
ログイン後にコピー

手順:

このクエリは結合ビューの更新を実行し、table1 の name 列と desc 列を table2 の対応する ID と一致する値に効果的に更新します。

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

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