Mengelakkan Penyenaraian Lajur Manual dalam Penyata SELECT SQL
Pernyataan SQL standard SELECT * FROM table
mendapatkan semula semua lajur. Walau bagaimanapun, meninggalkan lajur tertentu tanpa menyenaraikan selebihnya secara manual boleh menjadi mencabar. Artikel ini membentangkan penyelesaian untuk mengecualikan lajur dengan cekap daripada pertanyaan SELECT
.
Timbul persoalan: bagaimana untuk mengecualikan lajur (columnA
) daripada pertanyaan SELECT
tanpa menamakan setiap lajur lain secara eksplisit? Menggunakan SELECT * [except columnA] FROM tableA
secara langsung bukan sintaks SQL yang sah.
Pendekatan yang Cekap
Berikut ialah kaedah untuk mencapai ini dengan cekap:
SELECT ... INTO
untuk mencipta jadual sementara yang mengandungi semua lajur daripada jadual sumber.<code class="language-sql">SELECT * INTO #TempTable FROM tableA;</code>
ALTER TABLE ... DROP COLUMN
untuk menghapuskan lajur sasaran daripada jadual sementara.<code class="language-sql">ALTER TABLE #TempTable DROP COLUMN columnA;</code>
<code class="language-sql">SELECT * FROM #TempTable;</code>
<code class="language-sql">DROP TABLE #TempTable;</code>
Teknik ini menyediakan cara yang diperkemas untuk mengecualikan lajur, terutamanya berfaedah apabila bekerja dengan jadual yang mengandungi banyak lajur. Ia mengelakkan tugas yang terdedah kepada ralat dan memakan masa untuk menentukan secara manual setiap lajur untuk disertakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengecualikan Lajur dengan Cekap daripada Pertanyaan PILIH dalam SQL Tanpa Menyenaraikan Semua Yang Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!