SQL查询 - 查找所有条目都为非空的行

时间:2017-02-17 22:41:58

标签: mysql sql

假设我有一个表“interesting_table”,我想找到所有条目都为非null的所有行。

我在尝试

select * from interesting_table where * is not NULL ; 

它不起作用,因为*未被识别为列。如何在不列出所有列的情况下修改此内容?

1 个答案:

答案 0 :(得分:1)

两个选项:

1)使用类似CONCAT的函数,如果任何参数为null,则返回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。

演示:http://rextester.com/NRSDM90436