T-SQL教程-3

当遇到夸库查询时,可以采用这种方法:

库名.dbo.表名,当然更加建议您使用 不同的数据库连接语句来操作

前段时间,才更加清楚地认识到了COUNT(字段)与COUNT(*)之间的区别,亡羊补牢,为时不晚

 

View Code
 最后一个介绍的函数就是统计记录数量的COUNT,这个函数有一点特别,因为它的即可以
 像其他聚合函数一样使用字段名做参数,也可以使用星号“*”做为参数。我们执行下面的SQL:
 SELECT COUNT(*),COUNT(FNumber) FROM T_Employee
 执行完毕我们就能在输出结果中看到下面的执行结果:
 8 8
 可以看到COUNT(*)、COUNT(FNumber)两种方式都能统计出记录的条数,据此为数不少
 的开发人员都认为COUNT(*)、COUNT(字段名)这两种使用方式是等价的。下面通过例子来说
 明,为了看到两种使用方式的区别需要首先向表T_Employee 中插入一条新的数据,执行下面
 的SQL:
 INSERT INTO T_Employee(FNumber,FAge,FSalary) VALUES('IT002',27,2800)
 需要注意的就是这句INSERT语句没有为FName 字段赋值,也就是说新插入的这条数据的
 FName 字段值为空,可以执行SELECT * FROM T_Employee 来查看表T_Employee 中的
 内容:
 FNumber FName FAge FSalary
 DEV001 Tom 25 8300.00
 DEV002 Jerry 28 2300.80
 HR001 Jane 23 2200.88
 HR002 Tina 25 5200.36
 IT001 Smith 28 3900.00
 IT002 <NULL> 27 2800.00
 SALES001 John 23 5000.00
 SALES002 Kerry 28 6200.00
 SALES003 Stone 22 1200.00
 可以看到FNumber 为IT002 的行的FName字段是空值。接着执行下面的SQL:
 SELECT COUNT(*),COUNT(FNumber),COUNT(FName) FROM T_Employee
 执行完毕我们就能在输出结果中看到下面的执行结果:
 9 9 8
 可以看到COUNT(*)、COUNT(FNumber)两个表达式的计算结果都是9,而COUNT(FName)
 的计算结果是8。也就反应出了两种使用方式的区别:COUNT(*)统计的是结果集的总条数,而
 COUNT(FName)统计的则是除了结果集中FName 不为空值(也就是不等于NULL)的记录的总
 条数。由于FNumber 为IT002 的行的FName 字段是空值,所以COUNT(FName)的计算结果
 是8。因此在使用聚合函数COUNT 的时候一定要区分两种使用方式的区别,以防止出现数据错
 误。
 [[提示:如果查询出来的条件没有NULL值 ,那么俩种查询条件无任何区别。

 

不知道,您有没有在你的项目中这样来使用GOTO语句

View Code
 /**
 GOTO语句可以实现无条件跳转
 语法格式 GOTO  lable 其中lable为要跳转到的语句标号
 遇到GOTO语句时直接跳转到lable标签处继续执行,而goto之后的语句不再执行
 **/
 
 declare @result int=0
 declare @sn int =0
 loop_1:--定义标号
 set @result=@result+@sn
 set @sn=@sn+1
 if(@sn<=100)
 goto loop_1--如果小于100就跳转到loop_1标号处
 print @result

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值