Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Medan dalam SQL Menggunakan Joins?

Bagaimana untuk Mengemas kini Medan dalam SQL Menggunakan Joins?

Linda Hamilton
Lepaskan: 2025-01-22 13:56:11
asal
188 orang telah melayarinya

How to Update a Field in SQL Using Joins?

Mengemas kini Medan SQL Menggunakan Joins: Panduan Komprehensif

Selalunya, mengemas kini medan jadual memerlukan data daripada jadual lain. Ini dicapai dengan cekap menggunakan pernyataan UPDATE SQL dengan gabungan. Panduan ini menunjukkan prosesnya.

Struktur Pertanyaan

Struktur asas UPDATE pertanyaan yang menggabungkan gabungan ialah:

<code class="language-sql">UPDATE target_table
SET target_field = source_value
FROM target_table
JOIN source_table1 ON join_condition1
JOIN source_table2 ON join_condition2
WHERE filter_condition;</code>
Salin selepas log masuk

Contoh Ilustrasi

Katakan kita perlu mengemas kini medan mf_item_number dalam jadual item_master. Nilai baharu diperoleh daripada menyertai jadual item_master, group_master dan Manufacturer_Master berdasarkan lajur sku dan ManufacturerID.

Pertanyaan SQL ialah:

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>
Salin selepas log masuk

Penjelasan

  • UPDATE im: Menentukan jadual item_master (disebut sebagai im) untuk dikemas kini.
  • SET mf_item_number = gm.SKU: Menetapkan medan mf_item_number kepada nilai SKU daripada jadual group_master (alias sebagai gm).
  • FROM item_master im JOIN ...: Mentakrifkan cantuman antara tiga jadual berdasarkan nilai lajur yang sepadan.
  • WHERE ...: Menapis kemas kini kepada hanya baris yang mf_item_number bermula dengan 'STA%' dan manufacturerID ialah 34.

Kes Am

Pendekatan ini boleh disesuaikan dengan pelbagai senario kemas kini:

<code class="language-sql">UPDATE tableA
SET fieldA = tableB.fieldB
FROM tableA
JOIN tableB ON tableA.common_column = tableB.common_column
WHERE condition;</code>
Salin selepas log masuk

Kemas kini fieldA dalam tableA ini dengan nilai daripada fieldB dalam tableB, berdasarkan nilai common_column yang sepadan dan mana-mana condition yang dinyatakan. Ingat untuk sentiasa menyemak pertanyaan anda dengan teliti sebelum pelaksanaan untuk mengelakkan pengubahsuaian data yang tidak diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan dalam SQL Menggunakan Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan