3
假設我有一個表「interesting_table」,我想查找其中所有條目都非空的所有行。SQL查詢 - 查找所有條目非空的行
我試圖
select * from interesting_table where * is not NULL ;
它不起作用,因爲*不被識別爲一列。我如何在不列出所有列的情況下對其進行修改?
假設我有一個表「interesting_table」,我想查找其中所有條目都非空的所有行。SQL查詢 - 查找所有條目非空的行
我試圖
select * from interesting_table where * is not NULL ;
它不起作用,因爲*不被識別爲一列。我如何在不列出所有列的情況下對其進行修改?
兩個選項:
1)使用像CONCAT
一個函數,將返回null如果任何參數爲空
select *
from interesting_table
where concat(data1, data2) is not null;
2)使用NATURAL JOIN
與同桌。如果任何列爲NULL,則JOIN將失敗該行。
select t1.*
from interesting_table t1
natural join interesting_table t2;
如果表中包含重複項,則可能需要使用DISTINCT。
有沒有簡單的方法。要麼指定所有的列,要麼使用動態sql來構造你的語句。 –
您必須實際列出列,並對每個列進行非空檢查,並用AND條件分隔。 –
感謝Joel和vkp。問題可以關閉。 – Illusionist