在 MySQL 中高效率地選擇非空值
MySQL 資料庫使用者通常只需要檢索非空值。 雖然 PHP 迴圈可以實現這一點,但 MySQL 的 SELECT
語句提供了更有效率、簡化的方法。
使用IS NOT NULL
:
最簡單的方法是在 IS NOT NULL
子句中使用 WHERE
條件:
<code class="language-sql">SELECT * FROM your_table WHERE YourColumn IS NOT NULL;</code>
此查詢傳回 YourColumn
不包含 NULL
值的所有行。
否定空安全相等運算子(MySQL 特定):
MySQL 允許使用 NOT
運算子來否定空安全相等運算子 (<=>
)。 如果任一運算元為 UNKNOWN
,則此運算子傳回 NULL
。 請注意,這是 MySQL 特定的方法,而不是標準 SQL:
<code class="language-sql">SELECT * FROM your_table WHERE NOT (YourColumn <=> NULL);</code>
利用CASE
聲明:
對於具有多個列的表,並且您只需要特定列中的非空值,CASE
語句提供了一個解決方案:
<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>
此查詢使用 JOIN
建立與您的列對應的索引序列。 CASE
語句只選擇不為空的值。
這些技術允許直接檢索 MySQL 中的非空數據,無需 PHP 等外部語言處理。
以上是如何使用 SELECT 從 MySQL 表中高效檢索非空值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!