Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Bukan Nol dengan Cekap dari Jadual MySQL Menggunakan SELECT?
Memilih Nilai Bukan Nol dalam MySQL dengan Cekap
Pengguna pangkalan data MySQL selalunya perlu mendapatkan semula nilai bukan nol sahaja. Walaupun gelung PHP boleh mencapai ini, pernyataan SELECT
MySQL menawarkan kaedah yang lebih cekap dan diperkemas.
Menggunakan IS NOT NULL
:
Pendekatan paling mudah ialah menggunakan syarat IS NOT NULL
dalam klausa WHERE
:
<code class="language-sql">SELECT * FROM your_table WHERE YourColumn IS NOT NULL;</code>
Pertanyaan ini mengembalikan semua baris yang YourColumn
tidak mengandungi nilai NULL
.
Menegakkan Operator Kesaksamaan Null-Safe (Khusus MySQL):
MySQL membenarkan penggunaan operator NOT
untuk menafikan operator kesamaan selamat-null (<=>
). Operator ini mengembalikan UNKNOWN
jika salah satu operan ialah NULL
. Ambil perhatian bahawa ini ialah pendekatan khusus MySQL dan bukan SQL standard:
<code class="language-sql">SELECT * FROM your_table WHERE NOT (YourColumn <=> NULL);</code>
Memanfaatkan CASE
Kenyataan:
Untuk jadual dengan berbilang lajur dan anda hanya memerlukan nilai bukan nol daripada lajur tertentu, pernyataan CASE
menyediakan penyelesaian:
<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>
Pertanyaan ini menggunakan JOIN
untuk mencipta jujukan indeks yang sepadan dengan lajur anda. Pernyataan CASE
memilih nilai hanya jika nilai tersebut bukan nol.
Teknik ini membenarkan pengambilan terus data bukan nol dalam MySQL, menghapuskan keperluan untuk pemprosesan bahasa luaran seperti PHP.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Bukan Nol dengan Cekap dari Jadual MySQL Menggunakan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!