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://blog.51cto.com/greenp/760531

select null and select 1相关推荐

  1. select 1,select *,select count(),select sum(),select null

    select 1 from dual where a >20 查询后返回1列,所返回的列值均为1,返回的行数等于满足条件的行数: 同理, select 常量 from - where -,查询后 ...

  2. select null from table,exists和not exists 关键字的理解和使用场合

    关键字exists 和not exists AND select null from table select null from table. 这句sql语句的作用:查询表中的数据,如果有则返回为N ...

  3. select count(*)和select count(1)

    一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的 假如表沒有主键(Primary key), 那么count(1)比count(*)快, 如果有主键的話 ...

  4. select count(*)和select count(1)的区别

    一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的 假如表沒有主键(Primary key), 那么count(1)比count(*)快, 如果有主键的話 ...

  5. select count(*) 和 select count(1) 以及 select count(column) 的区别

    考试,目的在于让自己明白,自己天天写的都是垃圾 select count(*) 和 select count(1) 以及 select count(column) 的区别 1.如果表沒有主键, 那么c ...

  6. 论证select count(*)和select count(1)

    今天看到同事转载的一篇<select count(*)和select count(1)的区别>的博文,兴致所致,就想对文中提出的结论进行验证一下: 从内容来看,主要是有主键和没有主键的影响 ...

  7. select * 和select 1,select count(*)和select count(1)

    目录 1.select * 和select 1 2.select count(*)和select count(1) 1.select * 和select 1 语法:select * from 表名称: ...

  8. select count(1) 、select count(*) 、select count(字段)的区别、及性能

    select count(*) from teacher; //11 select count(1) from teacher; //11 select count(id) from teacher; ...

  9. INSERT INTO SELECT语句与SELECT INTO FROM语句区别

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,-) select value1,value2,- from Table1 ...

最新文章

  1. diamond专题(一)-- 简介和快速使用
  2. matlab 怎么与运算,求助如何用MATLAB计算VAR和Expected shortfall
  3. 用frontpage制作网页,字体大小用PT做单位好还是用PX做单位好?
  4. Docker Overlay 介绍
  5. 【OpenCV3】cv::convertScaleAbs()使用详解
  6. PostgreSQL触发器的使用
  7. 抓取扑克之星免费赛玩家排行榜
  8. 长为N的数组,元素范围是0-N-1,其中只有一个数是重复的,找出这个重复元素...
  9. 【HDU - 1220】Cube (组合数学,简单)
  10. 微信小程序 界面从右边滑出_微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)...
  11. 【需求工程】需求应用域理解
  12. 搜索——滑雪(poj1088)
  13. 敏捷开发般若敏捷系列之三:什么是敏捷(下)(无住,不住于空,破空执,非法,非非法)...
  14. 九小时九个人九扇门(01背包)
  15. 6.7开启Consul使用
  16. Spring框架利用PropertyPlaceholderConfigurer初始化加载多properties文件
  17. 毕业论文格式系列---1.论文公式编号
  18. Windows 10 S怎么样?Windows 10 S六大新特性介绍
  19. (转)ARCGIS中坐标转换及地理坐标、投影坐标的定义
  20. 地铁车辆主传动系统实时仿真测试平台ETest研究

热门文章

  1. 亚马逊遭遇15万人联名抗议:AI刷脸可以,但卖给政府不OK
  2. 分享实录+PPT | 高通高级技术标准总监李俨:移动车联网技术解析
  3. [译]Object的局限性——Kotlin中的带参单例模式
  4. zabbix 系统IO监控_自动发现
  5. WebSocket的实现原理?为什么可以实现持久连接?
  6. 美法院起诉黑客组织成员 为暴雪服务器攻击者
  7. PHP的单引号和双引号
  8. MVC3中Ajax.ActionLink用法
  9. Software Testing Resource
  10. ASP.NET AJAX入门系列(5):使用UpdatePanel控件(二)