Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mendapatkan Nilai Bukan Null dengan Cekap daripada Jadual MySQL?

Bagaimanakah Saya Boleh Mendapatkan Nilai Bukan Null dengan Cekap daripada Jadual MySQL?

Barbara Streisand
Lepaskan: 2025-01-15 16:27:50
asal
419 orang telah melayarinya

How Can I Efficiently Retrieve Non-Null Values from a MySQL Table?

Mengoptimumkan Pendapatan Nilai Bukan Nol dalam MySQL

Memproses set data MySQL yang besar selalunya memerlukan kaedah yang cekap untuk menapis nilai nol. Walaupun gelung PHP mungkin kelihatan mudah, ia tidak mempunyai potensi pengoptimuman pertanyaan SQL langsung. Artikel ini menunjukkan teknik unggul untuk mendapatkan hanya nilai bukan nol daripada jadual MySQL anda.

Kaedah paling cekap memanfaatkan operator IS NOT NULL dalam klausa WHERE SQL anda. Pertanyaan berikut mendapatkan semula semua baris di mana lajur YourColumn mengandungi nilai bukan nol:

<code class="language-sql">SELECT *
FROM your_table
WHERE YourColumn IS NOT NULL;</code>
Salin selepas log masuk

Walaupun kurang standard, MySQL juga membenarkan menafikan pengendali kesamaan selamat-null. Walau bagaimanapun, IS NOT NULL ialah pendekatan pilihan dan lebih mudah alih:

<code class="language-sql">SELECT *
FROM your_table
WHERE NOT (YourColumn <=> NULL);</code>
Salin selepas log masuk

Untuk jadual yang tidak mematuhi bentuk normal pertama (1NF), di mana data tersebar merentas berbilang lajur, pertimbangkan alternatif ini. Pendekatan ini menggunakan UNION ALL untuk menggabungkan hasil daripada lajur yang berbeza:

<code class="language-sql">SELECT val1 AS val
FROM your_table
WHERE val1 IS NOT NULL
UNION ALL
SELECT val2
FROM your_table
WHERE val2 IS NOT NULL;</code>
Salin selepas log masuk

Kaedah yang berpotensi lebih pantas, mengelakkan imbasan jadual berbilang, menggunakan pernyataan CASE dan sambung sendiri (atau sambung silang, bergantung pada persediaan pangkalan data anda):

<code class="language-sql">SELECT CASE idx
         WHEN 1 THEN val1
         WHEN 2 THEN val2
       END AS val
FROM   your_table
       JOIN (SELECT 1 AS idx UNION ALL SELECT 2) t
HAVING val IS NOT NULL;</code>
Salin selepas log masuk

Pilih pendekatan yang paling sesuai dengan struktur jadual dan volum data anda untuk prestasi optimum. Manipulasi SQL langsung secara amnya mengatasi penyelesaian berasaskan PHP berulang untuk tugas ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nilai Bukan Null dengan Cekap daripada Jadual MySQL?. 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