SQL 错题集(1)

1.=为比较运算符,同时也是sql中的赋值运算符, 除 text、ntext 或 image 数据类型的表达式外,=可以用于所有其他表达式,更多是一种数值类型上的判断,对于bool类型的判断会有3个结果TRUE、FALSE 和 UNKNOWN,在判断是否为null则会返回UNKNOWN,所以不能用=判断是否为null

2.is 判断表达式是否为bool类型的结果,以及类型是否为空,在判断是否为null应使用is

COUNT  有两种使用方式 COUNT (expression)和 COUNT (*),它返回一个对一个表按某列计数的值。

  • COUNT (*)返回表的行数。它不会过滤 null 和重复的行。

  • COUNT (expression)会过滤掉 null 值,所以值 null 行不会加入到计数当中,但如果不在expression前面加上 distinct 关键字,它是会过滤掉重复行的。

以此可以得出一个结论: count (*)返回值总是大于或等于 count (expression)的返回值。

在应用中,好多人喜欢使用 COUNT (1),这里面的1其实就是一个expression,因为你的表中没有列名为1的列,那么它的返回结果是和 COUNT (*)一模一样的,

 

 

 这题参考

mysql中like与rlike_老生常谈MYSQL模式匹配 REGEXP和like的用法_平骧的博客-CSDN博客

 

此处补充一个知识

mysql中exists的用法详解[通俗易懂] - 腾讯云开发者社区-腾讯云 (tencent.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值