Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Dapatkan Hanya Nilai Bukan Nol dalam MySQL Menggunakan Pernyataan SELECT?

Bagaimanakah Saya Boleh Dapatkan Hanya Nilai Bukan Nol dalam MySQL Menggunakan Pernyataan SELECT?

Patricia Arquette
Lepaskan: 2025-01-15 16:32:44
asal
851 orang telah melayarinya

How Can I Retrieve Only Non-Null Values in MySQL Using SELECT Statements?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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