强化脑细胞 2016-12-11 05:20 采纳率: 0%
浏览 824

关于sql语句的问题111

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

  • 写回答

1条回答 默认 最新

  • 安叔 2016-12-11 06:39
    关注

    假设表名为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;
    
    
    评论

报告相同问题?