ホームページ > データベース > mysql チュートリアル > 選択したステートメントを使用して、SQL Serverのテーブルを更新できますか?

選択したステートメントを使用して、SQL Serverのテーブルを更新できますか?

DDD
リリース: 2025-01-25 05:01:11
オリジナル
905 人が閲覧しました

Can I Use SELECT Statements to Update Tables in SQL Server?

SQL Server の SELECT ステートメントを使用したテーブル更新のマスター

SQL Server の INSERT...SELECT ステートメントを使用すると、別のテーブルのデータを使用して行を簡単に追加できます。 しかし、テーブルの更新にも同様のアプローチを使用できますか? このガイドではその方法を説明します。

メインテーブルにマージしたい、更新された値を含む一時テーブルがあるとします。 一般的な (ただし正しくない) アプローチは次のようになります:

<code class="language-sql">UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id</code>
ログイン後にコピー

この構文には欠陥があります。 正しい方法では、結合を活用して効率的かつ正確に更新します。

<code class="language-sql">UPDATE Table_A
SET
    Table_A.col1 = Table_B.col1,
    Table_A.col2 = Table_B.col2
FROM
    Some_Table AS Table_A
INNER JOIN Other_Table AS Table_B
    ON Table_A.id = Table_B.id
WHERE
    Table_A.col3 = 'cool'</code>
ログイン後にコピー

この洗練されたクエリでは、JOIN を使用して、一致する Some_Table 値に基づいて Table_A (Other_Table というエイリアス) と Table_B (id というエイリアス) の行をリンクします。 WHERE 句は、Table_A.col3 = 'cool' である行のみに更新をフィルターします。 これにより、SELECT ステートメントで取得したデータを使用してテーブルを更新する際のデータの整合性と精度が保証されます。

以上が選択したステートメントを使用して、SQL Serverのテーブルを更新できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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