- 博客(4)
- 收藏
- 关注
原创 分组函数的嵌套太深
分组函数最多嵌套两层,当三层或者三层以上时,就会出现分组函数的嵌套太深的提示。我通过下面一条查询一句进行分析。select count(avg(sum(sal)))from emp group by deptno; 这条查询语句,是根据部门号进行分组,第一层分组函数是求每个部门的工资支出和,当第一层分组函数再嵌套一层分组函数求所有部门工资支出的平均值时,结果就只剩一行了
2017-09-21 22:10:08 6599
原创 null的比较
Null的含义是不确定的意思,在oracle数据库中 ‘’代表的也是null。由于null的特殊性,null有着自己的判断方法。下面两条查询语句相信很多读者都碰到过,甚至无意写过。当null跟在等于后面时,是查询不到记录的。select * from emp where job = null or job =’’;select * from emp where job ‘’;正确的写
2017-09-21 21:51:15 913
原创 单行子查询返回多个行
大家是不是也经常碰到单行子查询返回多个行的错误提示。我已经碰到数次这种错误了,这种错误是基于数据存在的,开发人员也许在最初写这个查询语句的时候没有合适的数据,所以没有发现错误,当满足条件的数据出现后才会给出这种错误提示,特别是非常复杂的查询语句,排查原因变得非常困难。 我列举两条简单的查询语句供读者学习。1.select * from emp where job =(sel
2017-09-21 21:47:02 50760 8
原创 到底应该使用count(*) 还是count(1)
关于count方法一直存在争议,count(*)、count(列名)、count(常量),到底应该使用哪个?我认为应该是count(*),count(*)是SQL92定义的标准统计数的方法。我曾经有幸阅读过阿里巴巴的开发规范,里面提到强制使用count(*)。 我通过以下四个查询命令来说明三个方法的区别: 1.select count(*) from emp;
2017-09-21 21:05:31 2278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人