Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Dapatkan Hanya Nilai Bukan Nol dalam MySQL Menggunakan Pernyataan SELECT?
Pernyataan SELECT MySQL: Mendapatkan Data Bukan Null
Panduan ini menunjukkan cara untuk mendapatkan semula nilai bukan nol dengan cekap daripada jadual pangkalan data MySQL anda menggunakan pernyataan SELECT
. Kaedah yang paling mudah dan biasa menggunakan syarat IS NOT NULL
.
Kaedah 1: Menggunakan IS NOT NULL
Klausa IS NOT NULL
menapis terus baris yang lajur yang ditentukan mengandungi nilai NULL
.
Contoh:
<code class="language-sql">SELECT * FROM your_table WHERE your_column IS NOT NULL;</code>
Kaedah 2: Menggunakan NOT dan Operator Kesaksamaan Null-Safe
MySQL menyokong pendekatan bukan standard menggunakan operator NOT
dengan pengendali kesamaan selamat-null (<=>
). Walaupun berfungsi, IS NOT NULL
biasanya lebih disukai untuk kebolehbacaan yang lebih baik dan pematuhan standard SQL.
<code class="language-sql">SELECT * FROM your_table WHERE NOT (your_column <=> NULL);</code>
Kaedah 3: KESATUAN SEMUA untuk Berbilang Lajur
Untuk jadual dengan berbilang lajur, pernyataan UNION ALL
menawarkan cara untuk mendapatkan semula nilai bukan nol daripada setiap lajur secara individu. Kaedah ini kurang cekap daripada menggunakan IS NOT NULL
pada setiap lajur dalam satu pertanyaan, tetapi ia boleh berguna dalam senario tertentu.
<code class="language-sql">SELECT col1 AS value FROM your_table WHERE col1 IS NOT NULL UNION ALL SELECT col2 FROM your_table WHERE col2 IS NOT NULL -- Add more UNION ALL clauses for additional columns</code>
Kaedah 4: Penyata KES dengan CROSS JOIN dan HAVING
Pendekatan yang lebih kompleks, namun berpotensi berguna, melibatkan penggunaan CASE
pernyataan, CROSS JOIN
dan HAVING
klausa. Kaedah ini secara amnya kurang cekap berbanding kaedah yang lebih mudah tetapi menyediakan penyelesaian alternatif.
<code class="language-sql">SELECT CASE idx WHEN 1 THEN col1 WHEN 2 THEN col2 END AS value FROM your_table CROSS JOIN ( SELECT 1 AS idx UNION ALL SELECT 2 ) t HAVING value IS NOT NULL;</code>
Ingat untuk menggantikan your_table
dan your_column
(atau col1
, col2
, dsb.) dengan nama jadual dan lajur sebenar anda. Kaedah IS NOT NULL
biasanya disyorkan kerana kesederhanaan dan kecekapannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Hanya Nilai Bukan Nol dalam MySQL Menggunakan Pernyataan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!