博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
select 1 与 select null
阅读量:5929 次
发布时间:2019-06-19

本文共 994 字,大约阅读时间需要 3 分钟。

 

1.Select 1

在这里我主要讨论的有以下几个select 语句:

table表是一个数据表,假设表的行数为10行,以下同。

1:select  1 from table     

2:select count(1)  from table 

3:select sum(1) from table

对第一个select语句,我刚开始以为是“1”代表是列名,从2,3种顺推得出得结果:)有点无耻吧。不过通过我自己得观察,这样我觉得是不对的,所以我在SQL SERVER中测试了一下,发现结果如下:

1:测试结果,得出一个行数和table表行数一样的临时列(暂且这么叫,我也不知道该叫什么),每行的列值是1;

2:得出一个数,该数是table表的行数;

3:得出一个数,该数是table表的行数;

然后我又用“2”测试,结果如下:

1:得出一个行数和table表行数一样的临时列,每行的列值是2;

2:得出一个数,该数是table表的行数;

3:得出一个数,该数是table表的行数×2的数

然后我又用更大的数测试:

1:得出一个行数和table表行数一样的临时列,每行的列值是我写在select后的数;

2:还是得出一个数,该数是table表的行数;

3:得出一个数,该数是table表的行数×写在select后的数

综上所述:我发现第一种的写法是增加临时列,每行的列值是写在select后的数;第二种是不管count(a)的a值如何变化,得出的值总是table表的行数;第三种是计算临时列的和。

 

2.Select null

Select null 与Select 1 类似,只不过返回的列值为Null,在与Exists配合使用时,只要有行返回,则Exists子查询仍然为True。和Select 1 不通,Select null 中不可以使用Count 和 SUm 函数。

null是一个特殊的值,既不是空也不是空格,而是一个不确定的值。

如下代码
SELECT   null
FROM     addresses
WHERE    address_id = 1
的意义是在表addresses中有几行满足条件address_id = 1的值就返回几行null值 。

转载于:https://www.cnblogs.com/programmer-wind/archive/2011/08/24/2919591.html

你可能感兴趣的文章
关于CSS RESET
查看>>
有关两个jar包中包含完全相同的包名和类名的加载问题
查看>>
【Java例题】5.4 排序集合的使用
查看>>
php dirname(__FILE__) 获取当前文件的绝对路径
查看>>
Doxygen—程序文档生成工具
查看>>
每天一句 linux命令
查看>>
Java图片的压缩
查看>>
进度网络计算
查看>>
c语言变量名和地址的关系
查看>>
iOS6地图“查看路线”、导航功能的实现
查看>>
开发者不容错过的12款开源JavaScript库
查看>>
有关静态方法的几点说明
查看>>
LeetCode-Scramble String
查看>>
[转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above
查看>>
开发--jquery实现前后时间判断
查看>>
Dev
查看>>
获取应用在AppStore的地址和跳转到AppStore
查看>>
LINUX下安装APACHE+PHP+MYSQL
查看>>
3、静态代理模式
查看>>
HDU 2899 strange fuction
查看>>