在这里我主要讨论的有以下几个select 语句:
doo_archive表是一个数据表,表的行数为4行,如下:
分别用三条select语句select 1 from doo_archive、select count(1) from doo_archive、select sum(1) from doo_archive进行测试,发现结果如下:
1:测试结果,得出一个行数和doo_archive表行数一样的临时列,每行的列值是1,如下:
2:得出一个数,该数是doo_archive表的行数4,如下:
3:得出一个数,该数是doo_archive表的行数4,如下:
然后我又用select 2 from doo_archive、select count(2) from doo_archive、select sum(2) from doo_archive测试,结果如下:
1:得出一个行数和doo_archive表行数一样的临时列,每行的列值是2;
2:得出一个数,该数是doo_archive表的行数;
3:得出一个数,该数是doo_archive表的行数×2的数。
然后我又用select 10 from doo_archive、select count(10) from doo_archive、select sum(10) from doo_archive测试:
1:得出一个行数和doo_archive表行数一样的临时列(10),每行的列值(10)是我写在select后的数;
2:还是得出一个数,该数是doo_archive表的行数(4);
3:得出一个数,该数是doo_archive表的行数(4)×写在select后的数(10),即40.
综上所述:我发现第一种的写法是增加临时列,每行的列值是写在select后的数;第二种是不管count(a)的a值如何变化,得出的值总是table表的行数;第三种是计算临时列的值乘以表的行数。