Rumah >pangkalan data >tutorial mysql >Bagaimana saya boleh mengemas kini jadual SQL Server menggunakan nilai dari pernyataan pilih?

Bagaimana saya boleh mengemas kini jadual SQL Server menggunakan nilai dari pernyataan pilih?

Patricia Arquette
Patricia Arquetteasal
2025-01-25 05:16:09257semak imbas

How Can I Update a SQL Server Table Using Values from a SELECT Statement?

mengemas kini jadual pelayan SQL dengan data dari penyataan pilih

SQL Server membolehkan memasukkan baris menggunakan

. Walau bagaimanapun, secara langsung mengemas kini jadual menggunakan pernyataan INSERT...SELECT dengan cara yang mungkin dicuba pada mulanya (mis., ) tidak sah. Pendekatan yang betul melibatkan penggunaan subqueries atau bergabung. SELECT UPDATE Table SET col1, col2 SELECT col1, col2... katakan anda perlu mengemas kini jadual dengan nilai dari jadual sementara. Percubaan yang salah mungkin kelihatan seperti ini:

<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>
Kaedah yang betul:

1. Pendekatan Subquery:

Kaedah ini menggunakan subqueries untuk mengambil nilai kemas kini:

klausa
<code class="language-sql">UPDATE Table 
SET col1 = (SELECT col1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id),
    col2 = (SELECT col2 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)
WHERE EXISTS (SELECT 1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)</code>
memastikan kemas kini hanya berlaku untuk baris dengan penyertaan yang sepadan dalam

. EXISTS other_table

2. Pendekatan Berasaskan Berasaskan:

Pendekatan ini memanfaatkan

untuk kemas kini yang lebih cekap:

JOIN

ini
<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>
sepadan dengan baris dalam

dan JOIN berdasarkan lajur Table_A, memohon kemas kini hanya di mana Table_B sama dengan 'sejuk'. id Table_A.col3 Kedua -dua subqueries dan gabungan menyediakan cara yang berkesan untuk mengemas kini jadual SQL Server menggunakan data yang diperolehi dari

pernyataan, meningkatkan fleksibiliti dan prestasi manipulasi data.

Atas ialah kandungan terperinci Bagaimana saya boleh mengemas kini jadual SQL Server menggunakan nilai dari pernyataan pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn