2025-11-20 06:48:00
用SQL查表有多少行就像数一数抽屉里的东西有多少件。比如想数"用户表"里的注册人数,就写SELECT COUNT FROM 用户表;要查"订单表"里的交易记录,就写SELECT COUNT FROM 订单表。COUNT就是数所有行,不管里面有没有数据。比如有个表有100行数据,测试的时候发现返回了99行,说明有一行是空的,这时候COUNT就能准确统计到所有行,不管有没有数据。
为什么是这个答案呢?先说COUNT函数是SQL里专门数数量的工具,它后面跟的代表所有列,就像用网兜水一样把整条记录都算进去。比如查"商品表"的时候,不管商品有没有价格、库存这些字段,COUNT都会把每行都算一次。如果表里有空行,比如某条商品信息没填类别,COUNT还是会算进去,而COUNT(类别)就会漏掉没填的行。根据测试数据,当表有1000行时,COUNT返回999说明有1行是空的,而COUNT(类别)返回998说明有2行没填类别。这说明COUNT更全面,能统计所有行,不管字段有没有值。所以用COUNT才是正确统计行数的方法,就像数抽屉里的东西不能漏掉空盒子一样。
本题链接: