关于sql语句的问题111

查询表中数据是否为空 如果有 输出1 如果没有输出0,给出查询语句
查询表中数据是否为空 如果有 输出1 如果没有输出0,给出查询语句
查询表中数据是否为空 如果有 输出1 如果没有输出0,给出查询语句

假设表名为student

一种不是特别友好的方法是根据记录的数量来判断是否为空,即利用count,这种方式下,会遍历整张表,
如果表记录在40万以上,估计要1秒钟以上。(我的电脑上测试的结果)

 SELECT
    (CASE WHEN count(*) > 0 THEN 1 ELSE 0 END) isNotNull
FROM
    student a ;

还有一种我认为比上面这种方式好的,利用limit,查询第一条记录,判断第一条记录某个**不能为空的字段**是否为空 来判断表是否为空。
这种方式要比上面的sql查询快很多。

 select 
    (case when a.id is null = 1 then 1 else 0 end) isNull
from 
    student a limit 1;