SQL中select 1 from table的作用

参考文章:https://blog.csdn.net/u010104750/article/details/51141221

select 1 from table的作用及延展

① select 1 from table
得到一个行数和table一样的表,每行的列值为1
② select count(1)
得出一个数,该数是table表的行数
③ select sum(1)
得出一个数,该数是table表的行数

第一种的写法是增加临时列,每行的列值是写在select后的数
第二种是不管count(a)的a值如何变化,得出的值总是table表的行数
第三种是计算临时列的值乘以表的行数

实例分析

在这里我主要讨论的有以下几个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.
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aaqian1/article/details/88733664